Mirror of Oracle documentation

Converted for search and offline reading. Authoritative source: Oracle. Diagrams and some complex tables are simplified — check the PDF when in doubt.

Javascript

Note

Several of the ReST services that may impact inventory or conflicts with data processing happening during nightly batch should not be used during the restricted nightly batch window.

Common Characteristics

Security

Services are secured using J2EE-based security model.

  • Realm-based User Authentication: This verifies users through an underlying Realm. The username and password are passed using HTTP basic authentication.

  • Role-based Authorization: This assigns users to roles; authenticated users can access the services with Merchandising or Sales Audit application roles or custom roles that are assigned to:

    • For Merchandising MERCH_SERVICE_ACCESS_PRIV

    • For Sales Audit MERCH_SERVICE_ACCESS_PRIV

  • The communication between the server and client is encrypted using one-way SSL. In non-SSL environments the encoding defaults to BASE-64 so it is highly recommended that these ReST services are configured to be used in production environments secured with SSL connections.

  • If you are using Merchandising data filtering, that will apply to the services as well. The app user ID used for the calling the service should be added to the Merchandising SEC_USER table (APP_USER_ID), and then associated to the appropriate group in SEC_USER _GROUP table. For more information on this see the Merchandising Security Guide - Volume 2 .

Note

oAuth App/Client Name (which is different than client ID) should be configured in the SEC_USER table.

Standard Request and Response Headers

Merchandising and Sales Audit ReSTful web services have the following standard HTTP headers:

   Accept: application/xml or application/JSON
   Accept-Version: 16.0 (service version number)
   Accept-Language: en-US,en;q=0.8
Note

Accept-Language is not mandatory, and defaults to en-US . The user can change it though; in case they need content in a specific language. The language support in the response payload is limited to a selective service which was created for the mobile client use case.

Depending on the type of the operation or HTTP method, the corresponding response header is updated in the HTTP response with the following codes:

  • GET/READ : 200

  • PUT/CREATE : 201 (Created) or 200 (Success)

  • POST/UPDATE : 204 or 200 (Success)

  • DELETE : 204 or 200 (Success)

Standard Error Response

Example response payload in case of service error is depicted below:

   <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
   <messagesRDOes>
     <messagesRDO>
        <message>REST Service Version Mismatch</message>
        <messageType>ERROR</messageType>
        <status>BAD_REQUEST</status>
    </messagesRDO>
   </messagesRDOes>
  • Message: The error message - translated.

  • Message Type: Value of ‘ERROR’ is returned.

  • Status: For a bad request or error, the status is BAD_REQUEST.

  • The http error code for an error response is 400.

Merchandising URL Paths

Based on your implementation you will need to prefix the end point with just the deployment hostname. The format that should be used for the hostname is rex.retail.<Region Name>.ocs.oraclecloud.com/<Customer Subnamespace>/ , where <Region Name> will be the region for your data center and <Customer Subnamespace> will be specific to your company’s name and environment (production, stage, and so on).

The Merchandising services are hosted on two separate application servers. The application server named MerchIntegrations contains new Integration web services for data publishing and subscription. The RmsReSTServices contains other, legacy web services.

The following links provide access to the Merchandising services:

  • The ReSTful Web services swagger URL is available at:
https://<hostname/namespace>/RmsReSTServices/swagger-ui/
https://<hostname/namespace>/MerchIntegrations/swagger-ui/
  • The ReSTful Web services openapi.yaml is available at:
https://<hostname/namespace>/RmsReSTServices/services/openapi.yaml
https://<hostname/namespace>/MerchIntegrations/services/openapi.yaml
  • The ReSTful Web services’s WADL file is available at:

https://<hostname/namespace>/RmsReSTServices/services/private/application.wadl
https://<hostname/namespace>/MerchIntegrations/services/application.wadl
  • The ReSTful Web services are available at:

https://<hostname/namespace>/RmsReSTServices/services/private/<service>
https://<hostname/namespace>/MerchIntegrations/services/<service>

Sales Audit URL Paths

Based on the Implementation you may need to prefix the end point with just the deployment hostname or hostname plus access port.

The following links provide access to the Sales Audit services:

  • The ReSTful Web services swagger URL is available at:
https://<hostname/namespace>/ResaReSTServices/swagger-ui/
  • The ReSTful Web services openapi.yaml is available at:
https://<hostname/namespace>/ResaReSTServices/services/openapi.yaml
  • The ReSTful Web services’s WADL file is available at:
https://<hostname/namespace>/ResaReSTServices/services/private/
application.wadl
  • To access the ReSTful web services:
https://<hostname/namespace>/ResaReSTServices/services/private/<ResaService>

Fiscal Document Generation URL Paths

Based on your implementation you will need to prefix the end point with just the deployment hostname. The format to be used for the hostname is xxx-yyy-mfcs-

rhs.oracleindustry.com , where xxx-yyy is specific to your company’s name and environment (production, stage, and so on). The following links provide access to the Fiscal Document Generation services:

  • The ReSTful Web services Javadocs are available at:
https://<hostname>/RfmReSTServices
  • The ReSTful Web services’s WADL file is available at:
https://<hostname>/RfmReSTServices/services/private/application.wadl
  • The ReSTful Web services are available at:
https://<hostname>/RfmReSTServices/services/private/application.wadl

OAuth for REST Service Authentication

OAuth 2.0 is the industry standard protocol for authorization. Merchandising cloud services REST Services now supports OAuth 2.0. To invoke these services, you need to obtain and access token and use it as a bearer token.

Note

Basic Authentication access is no longer supported for these services. Allocation Cloud Service will still use Basic Authentication with this release.

Steps to Enable

To obtain a token and call the services, use the following steps:

1. This step should be performed one time for a given environment. Generate OAuth Client App with the environment-specific scope.

Each environment has a different scope that is available after the provisioning of the environment. Use this scope to generate the OAuth Client App using the Retail Home UI. For details, refer to the ”Creating OAuth Client Apps” section of the Retail Home Administration Guide , which can be found under Common Cloud Services Solutions in the Oracle Retail Help Center. Once the OAuth Client App is generated, note the client ID and secret. This information will be required for an access token to call REST services.

2. Get an access token using the OAuth client ID and secret from IDCS.

export ACCESS_TOKEN="$(curl -u <Client ID>:<Secret> -H 'Content-Type:
application/x-www-form-urlencoded;charset=UTF-8' --request POST https://
<IDCS_BASE_URL>/oauth2/v1/token -d
'grant_type=client_credentials&scope=<Customer Environment Specific
Scope>' | jq -r '.access_token')"

The token is generally valid for 1 hour.

3. REST clients that need to call Merchandising REST service end points should use the client ID and secret of the OAuth client generated in the previous step to get an access token.

OAuth tokens can also be obtained by REST client tools like Postman for testing purposes by filling in the necessary details like client ID/secret and scope. Use the below information in such cases:

  • Authorization: OAuth 2.0

  • Access Token URL: https://<IDCS_BASE_URL>/oauth2/v1/token

  • Client ID:

  • Client Secret:

  • Scope:

– The scope pattern that is used in the MFCS IDCS app creation template is rgbu:merch:<SERVICETYPE>-<ENVIRONMENT> where SERVICETYPE is MFCS and ENVIRONMENT is the environment type ( STG , PRD , UAT , DEV1 , DEV2 , and so on).

For example:
  • "scope": "rgbu:merch:MFCS-PRD"

  • "scope": "rgbu:merch:MFCS-STG"

Example using the access token as a bearer token:

curl --location --request GET 'http://<hostname or IP address>:<port number>/
RmsReSTServices/services/private/Common/vDate' \ --header 'Authorization:
Bearer $ACCESS_TOKEN'

Date Format

Few input date and output date fields are in long format. The others are in SQL Date format. The new MerchIntegrations service supports dates in the yyyy-mm-dd format and datetimes in the yyyy-mm-ddTHH24:Mi:SS.SSSZ format.

Dynamic Response Field Filtering

The ReST service call responses can be customised for precise data retrieval through the use of the include and exclude query parameters. These parameters provide the capability to selectively choose data fields to be included or excluded in the API response to ensure the presence of only relevant information.

‘Include’ Parameter

Through the ‘include’ parameter, you can provide a list of specific attributes/data fields to be included in the specific response from available fields in the service. This list should be formatted using JSON dot notation; for example, items.item,items.status, items.dept,items.itemSupplier.supplier . Use of this parameter will make the API response concise, containing only the requested fields.

‘Exclude’ Parameter

In contrast, the exclude parameter offers a complementary approach. You can provide a list of attributes to be excluded from the response, using JSON dot notation. The API then returns a comprehensive dataset, filtered to exclude only the specified fields. This is particularly useful when most of the data is required but you need to omit certain fields from the response.

For details on the Publish API, refer to reference paper Publish APIs - Customer Enablement Overview available in Oracle Retail Merchandising Documentation Library (Doc ID 1585843.1) in My Oracle Support.

Limited Availability During Nightly Batch Cycle

Several of the consume ReST services can interfere with batch jobs running during the MFCS nightly batch window. To avoid data processing conflicts, several ReST services are either not available during the entire duration of the nightly batch window or unavailable for a portion of the nightly batch. These services will fail with a 400 error if they are invoked during the window of unavailability.

The availability of the Rest services is categorized as:

1. Available 24/7 – These services are available 24/7 except for the time during which the application is being patched. Most services are available 24/7 and this includes all the GET services and most of the foundation data setup.

2. Not available during entire nightly batch – A small set of services are not available during the entire window of the nightly batch cycle. This includes services that are only active on certain dates (like stock count schedule, cost changes) or services that can influence the business logic of several jobs (like update item, item/supplier, store, reclassification, and so on).

The POM job START_BATCH_JOB disables these services by setting the value of batch_running_ind to Y in the rms_batch_status table. The POM job END_BATCH_JOB switches the indicator back to N and the services are then available to process the data.

3. Not available during Inventory batch window - The web services that impact inventory buckets are not available during portions of the nightly batch during which inventory-related batch processes are running. This includes the services related to the functionality of receipts, transfers, allocations, inventory adjustment, customer orders, and so on.

The POM job STOP_RIB_ADAPTOR_INV_JOB disables these services by setting the value of inventory_batch_running_ind to Y in the table rms_batch_status . The job START_RIB_ADAPTOR_INV_JOB switches the indicator to N to reenable the services.

4. Not available during Costing and Inventory batch window – Some of the services interfere with (in addition to impacting) the inventory buckets, which also impacts the cost component and expenses. These services are not available during the inventory batch window ( inventory_batch_running_ind = Y ) and while costing batch jobs are running at the initial phase of the nightly batch. This includes services related to functionality of purchase orders, item expenses, item HTS, supplier updates, exchange rate updates, and so on.

The POM job DUMMY_START_NIGHT_BATCH_JOB disables these services during the costing batch window by setting costing_batch_running_ind to Y in the rms_batch_status table. The job END_COSTING_BATCH_JOB switches the indicator to N , which reenables the services once the costing batches are complete.

Note

MerchIntegration services having limited availability during nightly batch have a custom property named x-batch-dependency in the openapi.yaml file.

Custom HTTP Headers

The Rest Service supports custom HTTP Headers that can be used to exchange additional metadata about the service calls. These are:

  • X-Correlation-ID: The client can include a unique ID in the HTTP header “X-CorrelationID” to uniquely trace the service call. The input X-Correlation-ID is captured in server logs and in the service_metrics table to provide details of the outcome of the service call. While the expectation is that the client should have a unique correlation ID in every request, the uniqueness is not validated by the ReST service.

In the response HTTP header, X-Correlation-ID is always included. If the request HTTP header contains a X-Correlation-ID, the same value IS returned in the response HTTP header. If the input header is missing the correlation id, a server generated request id (UUID) IS populated in the response X-Correlation-ID header field. The server generated request ID is captured in service_metrics table.

Best Practice – The client should generate a UUID (up to 36 bytes) and include the UUID in the request in the HTTP header X-Correlation-ID and persist the ID in some data store

for traceability purposes. In case of exceptions or troubleshooting, this ID is handy when checking the table service_metrics for how the server processed the request.

Example usage: The client makes a call and the client crashes before the response is received, or there was timeout thrown by one of the infrastructure components between the client and the application server (like load balancer or routers). The correlation ID can be checked in the table service_metrics to identify the actual response. If the service method is POST or PUT or DELETE, the table service_payload can be referenced to get the response payload for that request.

Note

Capturing X-Correlation-ID in server logs or in the table service_metrics is done by the ReST Service application server and the request should have arrived at this server for the service request to be logged. The application server captures the request in the service_metrics table when the request is received. After the request is processed, the server updates the same row in the service_metrics table to capture the response status.

  • X-Client-Principal-User: The client can include an optional HTTP Header in the request to provide a business user identifier in a system-to-system service call to allow for capturing the business user that created or updated the content of the request. As part of the service request in which data is created or updated, the audit columns create_id and last_update_id capture the OAuth client name used to make the service call. In the request containing X-Client-Principal-User, this value is used as-is (without any validation) to populate the audit columns.

  • X-Content-Has-More: This HTTP Header ( true or false ) is included in the response for several Merch Integration Publish API. The GET services that supports pagination includes the field hasMore in the payload to inform the client if there are additional pages to be requested. This information is also captured in the HTTP Header to allow the client to quickly access this information without parsing the response payload.

  • X-Content-Offset-Key: This HTTP Header is included in the response, along with X- Content-Has-More, when there are additional pages to be requested for a service supporting pagination using the query parameter offsetkey . The client can use the value from the HTTP Header instead of reading it from inside the payload to construct the URL for the next page.

  • X-Content-Count: This HTTP Header is included as an additional information in several Merch Integration Publish APIs to inform the client of the number of records in the response payload.

Paging

Some of the Merchandising and Sales Audit ReSTful web services have the potential to bring back a significant number of records, and therefore these services are equipped to segment the result into pages. The page number to retrieve and the size of the page are added as input parameters to all the paged services.

Each paged result includes the following information:

  • Total Record Count: Displays the number of all records matching the service input criteria.

  • Next Page URL: Shows the service URL with same input parameters, but with the pageNumber plus 1, when more records exist.

GET /PurchaseOrder? pageNumber=1 0&pageSize=20 Request ee, ~ c Response OO — JSON: O {“links” : [{“href”: “/Resource?pageNumber=11&pageSize=20”, “rel”: “next”, “type”: “application/xml”,““methodType”: “GET”}, {“href”: “/Resource?pageNumber=9 &pageSize=20”, “rel”: “prev”, “type”: “application/xml”,““methodType”: “GET”},], “results” : [ {“item” : “1220003”,“itemDesc” : “itemDesc”,}, {“item” : “12200031”,“itemDesc” : “itemDescl”, } ], }

Omnichannel integration ReSTful services may also be enabled for external consumers. These two enablements are performed through the Web Service Configuration Screen in Merchandising. After a service is enabled, the table triggers will start writing data to respective change log tables and the corresponding background job will start populating JSON cache tables. When a service is disabled, the ReST service will be unavailable, triggers will stop capturing new changes, and background process will clean up the JSON cache table. For details on the Publish API, refer to reference paper Publish APIs - Customer Enablement Overview available in Oracle Retail Merchandising Documentation Library (Doc ID 1585843.1) in My Oracle Support. For more details on how to enable a web service, see the Merchandising Administration Guide .

The below listed services can be enabled or disabled using the Merchandising UI,

  • Get Allocation Details for Provided Allocation

  • Get Differentiator Groups

  • Get Differentiator Details

  • Get Differentiator Type Details for Provided Type

  • Get Item Available Inventory at Customer Orderable Locations

  • Get Item Location Details

  • Get Item Details for All or Provided Items

  • Get Item VAT Details

  • Get Class Details for Provided Class

  • Get Purchase Order Details

  • Get Organizational Hierarchy

  • Partner Publish Services

  • Purchase Order Work Order Publish Services

  • RTV Publish Services

  • Get Receiver Unit Adjustment

  • Get Store Details

  • Supplier Publish Services

  • Get Transfer

  • Transfer Work Order Publish Services

  • REST Endpoint for UDA details

  • Get Warehouse Details

  • REST Endpoint for Omni channel/Diff Group

  • REST Endpoint for Omni channel/diff Ids

  • REST Endpoint for Omnichannel/Dimension Type details

  • REST Endpoint for Omnichannel/Dimension Value details

  • REST Endpoint for Omnichannel/future Inventory

  • REST Endpoint for Omni channel/Inventory/Store details

  • REST Endpoint for Omni channel/Inventory/Warehouse details

  • REST Endpoint for Omnichannel/item Image

  • REST Endpoint for Omnichannel/Item Initial Price details

  • REST Endpoint for Omnichannel/Item Location details

  • • REST Endpoint for Omni channel/ Item details

  • REST Endpoint for Omni channel/ Item UPC details

  • REST Endpoint for Omni channel/ Merchandise Hierarchy details

  • REST Endpoint for Omni channel/Org hier descendant’s details

  • REST Endpoint for Omni channel/Org hierarchy details

  • REST Endpoint for Omni channel/refresh Date

  • REST Endpoint for Omnichannel/related Item

  • • REST Endpoint for Omnichannel/Retail Store details

  • REST Endpoint for Omnichannel/vat

  • REST Endpoint for Omni channel/Warehouse details

File Transfer Services (FTS)

Business Overview

File Transfer Services (FTS) provide an endpoint for the customer to be used when working with files that are uploaded to and downloaded from the Merchandising Cloud Service Suite. These services are used by Merchandising and Sales Audit (RMFCS), Pricing (RPCS), Invoice Matching (ReIMCS), Allocation (RACS) and the Data Conversion tool. They allow you to manage uploading and downloading files to Oracle Cloud Infrastructure Object Storage, which is an internet-scale, high-performance storage platform that offers reliable and cost-efficient data durability.

For each customer environment, buckets, which are logical containers for storing objects, will be created in Object Storage. Any type of data, regardless of content type, is stored as an object. An object is composed of the object itself and metadata about the object. Any file uploaded through FTS to Object Storage has a retention period of 7 days before it is automatically purged.

The services use OAUTH 2.0 client credential authentication. Once authentication passes, the internal file transfer services that retrieve a pre-authenticated request (PAR) are called to upload and download files to Object Storage. The primary role of these services is to ensure that only valid external users can call the service by enforcing authorization policies.

List of services:
  • List Storage Prefixes

  • Retrieve PAR for Uploading Files

  • Retrieve PAR for Downloading Files

  • Delete Files

  • List Files

  • FTS Health Check

URL Prefix: https://rex.retail.<Region Name>.ocs.oraclecloud.com/<Customer Subnamespace>/RmsPlatformServices/services/private

The final URL will be the URL Prefix followed by the ReST URL path mentioned in each service description below.

To start uploading or downloading the files to/from Object Storage, storage prefixes should be registered first.

The table below shows the prefixes used by each of the solutions when calling the above listed services. By default, all the storage prefixes below will be registered automatically.

RMFCSRPCSReIMCSRACSData Conversion
Incoming/incoming/incoming/reim/incoming/
alloc
/dataconversion/
incoming
Outgoing/outgoing/dataconversion/
outgoing
Reject/rejectn/an/a
Downloaded/downloaded/downloaded/reim/downloaded/
alloc
n/a
Archiven/an/an/an/a

Table 5-1 Administrative Processes

Storage PrefixServiceFile Name
AdminProcessDynamicdynamic_hierarchy/
Hierarchydynamic_hierarchy_mapping_tl.csv

List Storage Prefixes

Business Overview

This service is used for retrieving Object Storage prefixes.

Service Type

Get

ReST URL

/FTSWrapper/listprefixes

Headers

KeyValue
Accept-LanguageString (Ex: en-US)

Output

The output metadata contains the prefix details of the request including validation error, if any.

For Success:
[
          "downloaded",
           "incoming",
]

For Failure:

{
          "error_message": "string"
}

Retrieve PAR for Uploading Files

Business Overview

This service is used for retrieving an Object Storage pre-authenticated request (PAR) for uploading files. The response from the service is then used to upload the files in the user specified prefix from Object Storage using curl. The specified prefix is the staging location for input file that is processed by one of the Merchandising cloud service upload batches.

Service Type

Post

ReST URL

/FTSWrapper/upload

Headers

Key Value Accept-Language String (Ex: en-US) Request body { "listOfFiles": [ { "storagePrefix": "string", "fileName": "string" } ] }

Output

Parameter NameData Type
idString
nameString
accessUriString
objectNames String
accessString
timeExpiresTimestamp
timeCreatedTimestamp

The output metadata contains the PAR details of the request including validation error, if any

For Success:
 {
     "id": "string",
     "name": "string",
     "accessUri": "string",
     "objectNames": [
          "string"
     ],
     "accessType": "string",
     "timeExpires": "timestamp",
     "timeCreated": "timestamp"
}
For Failure:
{
    "error_message": "string"
}

Uploading the Batch Incoming File

To upload the file, use a curl command as shown below in the example, including the accessUri returned from the ReST service call. Provide the location of the file to be uploaded. The file must be uploaded before the expiration time. Below is an format of the curl command structure. The specified prefix is the staging location for input files that is processed by one of the Merchandising cloud service upload batches.

Example
curl https://<objectstorage_hostname/p/<pre authenticated request>/n/
<namespace>/b/<bucketname>/o/<prefixname>/<filename> --upload-file <filename>

Retrieve PAR for Downloading Files

Business Overview

This service is used for retrieving an Object Storage pre-authenticated request (PAR) for downloading files. The response from the service is then used to download the files in the user specified prefix from Object Storage using curl . The specified prefix is the staging location for file that is processed by one of the Merchandising cloud service batches.

Service Type

Post

ReST URL

/FTSWrapper/download

Headers

KeyValue
Accept-LanguageString (Ex: en-US)
Request Body
{
"listOfFiles": [
{
"storagePrefix": "string",
"fileName": "string"
}
]
}

Output

Parameter NameData Type
idString
nameString
accessUriString
objectNames String
accessString
timeExpiresTimestamp
timeCreatedTimestamp

The output metadata contains the PAR details of the request including validation error, if any.

For Success:
 {
     "id": "string",
     "name": "string",
     "accessUri": "string",
     "objectNames": [
          "string"
     ],
     "accessType": "string",
     "timeExpires": "timestamp",
     "timeCreated": "timestamp"
}
For Failure:
{
    "error_message": "string"
}

Downloading the File

To download the file, use the curl command to the accessUri returned from the output metadata. You can download the file before the expiration time. The specified prefix is the staging location for file that is processed by one of the Merchandising cloud service batches.

Example
curl https://<objectstorage_hostname>/p/<pre authenticated request>/n/
<namespace>/b/<bucketname>/o/<prefixname>/<filename> -O

Delete Files

Business Overview

This service is used for deleting files in Object Storage based on the provided prefix.

Service Type

Delete

ReST URL

/FTSWrapper/delete

Headers

Key Value Accept-Language String (Ex: en-US) Request body { "listOfFiles": [ { "storagePrefix": "string", "fileName": "string" } ] }

Output

The output metadata contains the output of the FTS service for deletion. Validation error will be output, if any.

For Success:

{ "filesDeleted": [ { "filePath": { "storagePrefix": "incoming", "fileName": "testFile.txt" }, "responseMessage": "File successfully deleted incoming/ testFile.txt" } ], "filesFailedDeletion": [] } For Failure: { "error_message": "string" }

List Files

Business Overview

This service provides a list of Object Storage files under the specified directory/prefix.

Service Type

Get

ReST URL

/FTSWrapper/listfiles

Headers

KeyValue
Accept-LanguageString (Ex: en-US)

Input Parameters

Parameter NameData Type
prefxString
containsString
scanStatusString
LimitString
OffsetString
SortString

Output

Parameter NameData Type
nameString
sizeString
md5String
versionString
etagString
createdDateTimestamp
modifedDateTimestamp
scanStatusString
scanDateTimestamp
scanMessageString

The output metadata contains the file detail of the request.

For Success:
{
          "name": "string",
           "size": "string",
          "md5": "string",
           "version":”string",
          "etag": "string",
          "createdDate": "timestamp",
            "modifiedDate": "timestamp",
            "scanStatus": "string",
            "scanDate": "timestamp",
            "scanMessage": "string",
}

FTS Health Check

Business Overview

This service checks the status of the File Transfer Service (FTS).

Service Type

Get

ReST URL

/FTSWrapper/ping

Headers

KeyValue
Accept-LanguageString (Ex: en-US)

Output

The output metadata contains output of the FTS service for Health check which shows the status. Validation error will be output, if any.

For Success:
{
    "appStatus": 200
}
For Failure:
{
    "error_message": "string"
}

Merchandising to Omnichannel Services

The following services are included in this functional area:

  • REST Endpoint for Omni channel/Diff Group

  • REST Endpoint for Omni channel/diff Ids

  • REST Endpoint for Omni channel/Inventory/Store details

  • REST Endpoint for Omni channel/Inventory/Warehouse details

  • REST Endpoint for Omni channel/ Item details

  • REST Endpoint for Omni channel/ Item UPC details

  • REST Endpoint for Omni channel/ Merchandise Hierarchy details

  • REST Endpoint for Omni channel/Org hier descendant’s details

  • REST Endpoint for Omni channel/Org hierarchy details

  • REST Endpoint for Omni channel/refresh Date

  • • REST Endpoint for Omni channel/Warehouse details

  • REST Endpoint for Omnichannel/related Item

  • REST Endpoint for Omnichannel/Retail Store details

  • REST Endpoint for Omnichannel/Dimension Type details

  • REST Endpoint for Omnichannel/Dimension Value details

  • REST Endpoint for Omnichannel/future Inventory

  • REST Endpoint for Omnichannel/item Image

  • REST Endpoint for Omnichannel/Item Initial Price details

  • REST Endpoint for Omnichannel/Item Location details

  • REST Endpoint for Omnichannel/vat

REST Endpoint for Omni channel/Diff Group

Endpoint

MerchIntegrations/services/foundation/omnichannel/diff/group

Functional Area

Items - Item Foundation

Business Overview

This service publishes differentiator groups to the Omnichannel application and can also be consumed by downstream consuming systems. Functionally, the source view uses the differentiator-group header-plus-detail relationship, so only differentiator groups that currently have detail rows are published.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: DIFF_GROUP_HEAD, DIFF_GROUP_DETAIL

Additional business tables: DIFF_TYPE

JSON cache table: MERCHAPI_DIFF_GROUP

JSON generation view: V_MERCHAPI_DIFF_GROUP_JSON

The cache is refreshed from V_MERCHAPI_DIFF_GROUP_JSON, which builds the payload from DIFF_GROUP_HEAD, DIFF_TYPE, and DIFF_GROUP_DETAIL.

The view uses the header-plus-detail relationship, so only differentiator groups that currently have detail rows are published.

When the omnichannel dimension-type API is enabled, the same diff-group processing flow also repopulates the child dimension-type cache for impacted items.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild pull published rows from V_MERCHAPI_DIFF_GROUP_JSON. No additional filter criteria were identified beyond the cache-build logic.

Rebuild marks cache rows deleted when the group no longer exists in V_MERCHAPI_DIFF_GROUP_JSON.

ICL (Integration Change Log) table: ICL_RMS_DIFF_GROUP (ICL consumer name = MERCHAPI)

Delta processing is driven by ICL_RMS_DIFF_GROUP.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_OMNI_DIFF_GROUP

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_OMNI_DIFF_GROUP_ADHOC_PROCESS MERCHAPI_OMNI_DIFF_GROUP_ADHOC_JOB

Webhook configuration api name: foundation/omnichannel/diff/group

Special handling

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/omnichannel/diff/group

Input Parameters

Output

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
limitNoString (6)Pagination limit.
Default value is 1000.
offsetkeyNoStringOffset key
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
exclude
able 5-2 PageRe
No
sultsItemsVMercha
String
piDiffGrp - Object. See list
Fields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)
of elements for detail
Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-2 PageResultsItemsVMerchapiDiffGrp - Object. See list of elements for detail

Table 5-3 VMerchapiDiffGrp - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for Diff group.
diffgroupidNoString (10)This column contains
the Diff group ID.
diffgroupdescNoString (120)This column contains
the Diff group’s
description.
difftypeidNoString (6)This column contains
the Diff type ID.
difdNoString (10)This column contains
the Diff ID.

Table 5-4 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"diffgroupid": "BASIC CLRS",
"diffgroupdesc": "Basic Color Pallet",
"difftypeid": "C",
"diffid": "GREEN"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.

Example JSON input:

" {
  "items": [
    {
      "action": "INSERT",
      "diffgroupid": "1177",
      "diffgroupdesc": "EIT_Diff_Group_1",
      "difftypeid": "CF",
      "diffid": "4280"
    }
  ],
  "hasMore": true,
  "limit": 1,
  "count": 1,
  "links": [
    {
      "href": "http://<hostname>/MerchIntegrations/services/foundation/
omnichannel/diff/group?
before=2021-05-06T16%3A12%3A02.551757%2B08%3A00&limit=1&since=1970-01-01T00%3A
00%3A00.001Z",
      "rel": "self"
    },
    {
      "href": "http:// <hostname>/MerchIntegrations/services/foundation/
omnichannel/diff/group?
before=2021-05-06T16%3A12%3A02.551757%2B08%3A00&limit=1&offsetkey=1177%2C4280&
since=1970-01-01T00%3A00%3A00.001Z",
      "rel": "next"
    }
  ]
} "

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_DIFF_GROUPYesYesYesYes
MERCHAPI_DIFF_GROUPYesYesYesYes
V_MERCHAPI_DIFF_GROUPYesNoNoNo
V_MERCHAPI_DIFF_GROUP_JSONYesNoNoNo
V_MERCHAPI_ITEM_JSONYesNoNoNo
MERCHAPI_ITEM_DIFF_TYPEYesYesYesYes

REST Endpoint for Omni channel/diff Ids

Endpoint

MerchIntegrations/services/foundation/omnichannel/diff

Functional Area

Items - Item Foundation

Business Overview

This service publishes differentiator IDs to the Omnichannel application and can also be consumed by downstream consuming systems. Functionally, it publishes the current differentiator master data only while the differentiator still resolves to a valid differentiator type.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: DIFF_IDS, DIFF_TYPE

Additional business tables: none

JSON cache table: MERCHAPI_DIFF_IDS

JSON generation view: V_MERCHAPI_DIFF_IDS_JSON

The cache is refreshed from V_MERCHAPI_DIFF_IDS_JSON, which joins DIFF_IDS to DIFF_TYPE so the payload includes both the differentiator and its type information.

Functionally, the published set is the current differentiator master data that still resolves to a valid differentiator type.

When the omnichannel dimension-type or dimension-value APIs are enabled, the same diff-ID processing flow also repopulates those child caches for impacted items.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild pull published rows from V_MERCHAPI_DIFF_IDS_JSON. No additional filter criteria were identified beyond the cache-build logic.

Rebuild marks cache rows deleted when the differentiator no longer exists in V_MERCHAPI_DIFF_IDS_JSON.

ICL (Integration Change Log) table: ICL_RMS_DIFF_IDS, ICL_RMS_DIFF_TYPE (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on DIFF_IDS, DIFF_TYPE.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_OMNI_DIFF_IDS

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_OMNI_DIFF_IDS_ADHOC_PROCESS MERCHAPI_OMNI_DIFF_IDS_ADHOC_JOB

Webhook configuration api name: foundation/omnichannel/diff

Special handling

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/omnichannel/diff

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
limitNoString (6)Pagination limit.
Default value is 1000.
Parameter NameRequiredData TypeDescription
offsetkeyNoStringOffset key
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-5 PageResultsItemsVMerchapiDiffIds - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-6 VMerchapiDiffIds - Object. See list of elements for detail

Element NameRequiredData TypeDescription
action
NoString (6)Action for Diff.
difdNoString (10)This column contains
the Diff ID.
diffdescNoString (120)This column contains
the Diff description.
difftypeNoString (6)This column contains
the Diff type.

Table 5-6 (Cont.) VMerchapiDiffIds - Object. See list of elements for detail

Element NameRequiredData TypeDescription
difftypedescNoString (120)This column contains
the Diff type
description.

Table 5-7 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"diffid": "1930",
"diffdesc": "Green",
"difftype": "C",
"difftypedesc": "Color"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON input:
" {
  "items": [
    {
      "action": "INSERT",
      "diffid": "1005",
      "diffdesc": "EIT_Diff_ID : Black",
      "difftype": "CF",
      "difftypedesc": "Cereal Flavour"
    }
  ],
  "hasMore": true,
  "limit": 1,
  "count": 1,
  "links": [
    {
      "href": "http://<hostname>/MerchIntegrations/services/foundation/omnichannel/diff?
before=2021-05-05T16%3A18%3A57.100893%2B08%3A00&limit=1&since=1970-01-01T00%3A00%3A00.001
Z",
      "rel": "self"
    },
    {
      "href": "http:// <hostname> /MerchIntegrations/services/foundation/omnichannel/
diff?
before=2021-05-05T16%3A18%3A57.100893%2B08%3A00&limit=1&offsetkey=1005&since=1970-01-01T0
0%3A00%3A00.001Z",
      "rel": "next"
    }
  ]
}
"

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_DIFF_IDSYesYesYesYes
ICL_RMS_DIFF_TYPEYesYesYesYes
DIFF_IDSYesNoNoNo
MERCHAPI_DIFF_IDSYesYesYesYes
V_MERCHAPI_DIFF_IDS_JSONYesNoNoNo
V_MERCHAPI_DIFF_IDSYesNoNoNo
V_MERCHAPI_ITEM_JSONYesNoNoNo
MERCHAPI_ITEM_DIFF_TYPEYesYesYesYes
MERCHAPI_ITEM_DIFF_VALUEYesYesYesYes

REST Endpoint for Omni channel/Inventory/Store details

Endpoint

MerchIntegrations/services/inventory/omnichannel/inventory/store

Functional Area

Inventory

Business Overview

This service publishes store available inventory to the Omnichannel application and can also be consumed by downstream consuming systems. It includes the store availability position for active, transaction-level inventory items at stockholding stores that are enabled for customer orders, limited to sellable non-pack store rows. The response exposes stock on hand together with the derived available quantity after subtracting reserved and other non-available inventory buckets so consuming systems receive the store availability position used for fulfillment.

The underlying technical component for this service is same as ‘/inventory/available’. Refer to the API documentation for ‘/inventory/available’ for more details.

Service Type

GET

ReST URL

MerchIntegrations/services/inventory/omnichannel/inventory/store

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
nodelevelNoStringNode Level. Allowed
value is ‘STORE’. If not
defned, fetches details
for all stores.
nodeidNoString (10)Node Id. Should be a
valid store number.
offsetkeyNoStringOffset key
limitNoString (6)Pagination limit.
Default value is 1000.
optimalBeforeNoStringEnables histogram-
based calculation of
the before timestamp
when before is not
provided. Valid values
are Y or N. Default
value is N.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-8 PageResultsItemsStoreAvailable - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records

Table 5-8 (Cont.) PageResultsItemsStoreAvailable - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-9 StoreAvailable - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)This feld contains the
action for Store
Inventory.
itemNoString (25)This feld contains the
unique alphanumeric
value that identifes
the item. This will be
an approved sellable
transaction-level item.
locationNoNumber(10,0)This feld contains the
numeric identifer of
the location in which
the item is to be found.
loctypeNoString (1)This feld contains the
type of location in the
location feld. Valid
values are S (store).
availablequantityNoNumber(12,4)This feld represents
the available
inventory of an item in
a particular location.
stockonhandNoNumber(12,4)This feld contains
current stock on hand
for the item.

Table 5-9 (Cont.) StoreAvailable - Object. See list of elements for detail

Element NameRequiredData TypeDescription
standarduomNoString (4)This feld contains the
unit of measure in
which stock of the
item is tracked at a
corporate level.

Table 5-10 LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description href No String Service URL rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": null, "item": "100100092", "location": 1521, "loctype": "S", "availablequantity": 10, "stockonhand": 12, "standarduom": "EA" } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned, then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON input:
" {
    "items": [
        {
            "action": "INSERT",
            "item": "100000286",
            "location": "1341",
            "loctype": "S",
            "availablequantity": 100,
            "stockonhand": 100,
            "standarduom": "EA"
        }
    ],
    "hasMore": true,
    "limit": 1,
    "count": 1,
    "links": [
        {
            "href": "http://<hostname>:<portnumber>/MerchIntegrations/
services/inventory/omnichannel/inventory/store?
before=2021-05-13T18%3A28%3A10.129377%2B05%3A30&limit=1&since=1970-01-01T00%3A
00%3A00.001Z",
            "rel": "self"
        },
        {
            "href": "http://<hostname>:<portnumber>/MerchIntegrations/
services/inventory/omnichannel/inventory/store?
before=2021-05-13T18%3A28%3A10.129377%2B05%3A30&limit=1&offsetkey=1341%2C10000
0286&since=1970-01-01T00%3A00%3A00.001Z",
            "rel": "next"
        }
    ]
}"

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
ITEM_MASTERYesNoNoNo
ITEM_LOC_SOHYesNoNoNo
STOREYesNoNoNo
MERCHAPI_ITEM_LOCYesNoNoNo

REST Endpoint for Omni channel/Inventory/Warehouse details

Endpoint

MerchIntegrations/services/inventory/omnichannel/inventory/warehouse

Functional Area

Inventory

Business Overview

This service publishes warehouse available inventory to the Omnichannel application and can also be consumed by downstream consuming systems. It includes the warehouse availability position for active, transaction-level inventory items at stockholding warehouses that are enabled for customer orders, limited to sellable rows while still allowing warehouse pack items to publish. The response exposes stock on hand, the derived available quantity, and the physical warehouse linkage used for virtual-warehouse sourcing scenarios.

The underlying technical component for this service is same as ‘/inventory/available’. Refer to the API documentation for ‘/inventory/available’ for more details.

Service Type

GET

ReST URL

MerchIntegrations/services/inventory/omnichannel/inventory/warehouse

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
nodelevelNoStringNode Level. Allowed
value is ‘WAREHOUSE’.
If not defned, fetches
details for all
warehouses.
nodeidNoString (10)Node Id. Should be a
valid warehouse
number if nodelevel is
’WAREHOUSE’.
offsetkeyNoStringOffset key
limitNoString (6)Pagination limit.
Default value is 1000.
optimalBeforeNoStringEnables histogram-
based calculation of
the before timestamp
when before is not
provided. Valid values
are Y or N. Default
value is N.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-11 PageResultsItemsOmnichannel_MerchapiItemLocSoh - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records

Table 5-11 (Cont.) PageResultsItemsOmnichannel_MerchapiItemLocSoh - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-12 Omnichannel_MerchapiItemLocSoh - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)This feld contains the
action for Warehouse
Inventory.
itemNoString (25)This feld contains the
unique alphanumeric
value that identifes
the item. This will be
an approved sellable
transaction-level item.
For warehouse
locations, pack items
are also included.
locationNoNumber(10,0)This feld contains the
numeric identifer of
the location in which
the item is to be found.
loctypeNoString (1)This feld contains the
type of location in the
location feld. Valid
values are W
(warehouse).
availablequantityNoNumber(12,4)This feld represents
the available
inventory of an item in
a particular location.
stockonhandNoNumber(12,4)This feld contains
current stock on hand
for the item.

Table 5-12 (Cont.) Omnichannel_MerchapiItemLocSoh - Object. See list of elements for detail

Element NameRequiredData TypeDescription
standarduomNoString (4)This feld contains the
unit of measure in
which stock of the
item is tracked at a
corporate level.
physicalwarehouseNoNumber(10,0)This feld contains the
physical warehouse
for location type of
warehouse.

Table 5-13 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": null,
"item": "100100092",
"location": 11001,
"loctype": "W",
"availablequantity": 10,
"stockonhand": 12,
"standarduom": "EA",
"physicalwarehouse": 11
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.

Example JSON input:

" {
    "items": [
        {
            "action": "INSERT",
            "item": "100000075",
            "location": "10001",
            "loctype": "W",
            "availablequantity": 0,
            "stockonhand": 0,
            "standarduom": "EA",
            "physicalwarehouse": 2
        }
    ],
    "hasMore": true,
    "limit": 1,
    "count": 1,
    "links": [
        {
            "href": "http://<hostname>:<portnumber>/MerchIntegrations/services/inventory/
omnichannel/inventory/warehouse?
before=2021-05-13T19%3A14%3A44.470363%2B05%3A30&limit=1&since=1970-01-01T00%3A00%3A00.001
Z",
            "rel": "self"
        },
        {
            "href": "http://<hostname>:<portnumber>/MerchIntegrations/services/inventory/
omnichannel/inventory/warehouse?
before=2021-05-13T19%3A14%3A44.470363%2B05%3A30&limit=1&offsetkey=10001%2C100000075&since
=1970-01-01T00%3A00%3A00.001Z",
            "rel": "next"
        }
    ]
}"

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
ITEM_MASTERYesNoNoNo
ITEM_LOC_SOHYesNoNoNo
WHYesNoNoNo
MERCHAPI_ITEM_LOCYesNoNoNo

REST Endpoint for Omni channel/ Item details

Endpoint

MerchIntegrations/services/foundation/omnichannel/item

Functional Area

Items - Item Definition

Business Overview

This service publishes the item payload to the Omnichannel application and can also be consumed by downstream consuming systems. It publishes item definitions from approved item records and enriches them with merchandise hierarchy, differentiator, brand, and selected code-detail attributes. When callers supply nodelevel and nodeid, the service returns the item in the context of the requested store or warehouse by joining to MERCHAPI_ITEM_LOC, which adds local item description, local short description, and UIN type for that node. The source view itself publishes only current ITEM_MASTER rows in status A, while refresh processing also selects status D rows so delete actions can still be represented in the cache.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: ITEM_MASTER

Additional business tables: DEPS, GROUPS, DIVISION, CLASS, SUBCLASS, DIFF_GROUP_HEAD, DIFF_IDS, BRAND, SYSTEM_OPTIONS, CODE_DETAIL

JSON cache table: MERCHAPI_ITEM_MASTER

JSON generation view: V_MERCHAPI_ITEM_JSON

The JSON view is driven from ITEM_MASTER and enriched from hierarchy tables, differentiator setup, brand, system options, and code-detail lookups.

The source view publishes only items whose current ITEM_MASTER.STATUS = ‘A’, while refresh processing selects ITEM_MASTER rows in status A or D so deletes can still be represented in the cache.

The REST layer also supports location-scoped item output by joining the item cache to MERCHAPI_ITEM_LOC when nodelevel and nodeid are supplied, which adds local item description and UIN context for the requested store or warehouse.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_ITEM_JSON and apply ITEM_MASTER.STATUS IN (‘A’,‘D’).

ICL (Integration Change Log) table: ICL_RMS_ITEM_MASTER (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on ITEM_MASTER, and the shared item delta flow also refreshes the related UPC and dimension projections maintained under the same process configuration.

Item Approval Handling

Approval of an item also results in publish of foundation/omnichannel/item/upc, foundation/ omnichannel/item/dimensiontype, and foundation/omnichannel/item/dimensionvalue through the shared item flow. Approval also queues foundation/omnichannel/item/image, foundation/ omnichannel/item/relateditem, foundation/item/location, foundation/item/vat, and foundation/ taxLocationItem by writing the existing dependent source rows to those APIs’ ICL tables when the item reaches approved status.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_OMNI_ITEM_DIM_UPC

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_OMNI_ITEM_DIM_UPC_ADHOC_PROCESS MERCHAPI_OMNI_ITEM_DIM_UPC_ADHOC_JOB

Webhook configuration api name: foundation/omnichannel/item

Special handling

Additional GET query parameters: nodelevel, nodeid.

Performance Considerations

For customers expecting high to very high publish volume from this API, sizing and operational tuning should be addressed early in the implementation lifecycle. Initial cache seeding, ongoing delta processing, full extracts, and incremental downloads or webhook-driven delivery have different runtime characteristics and should be evaluated separately. The available configuration for this service should therefore be reviewed and validated against the customer production data profile, including expected volume, message size, and access pattern, with the key performance-related configuration for this service covering the following:

Multi-threading and commit control

This service shares the API_OMNI_ITEM_DIM_UPC runtime with the omnichannel item, UPC, and dimension caches. Delta processing on that shared flow remains single-threaded, while initial seeding supports multi-threaded execution. Delta commit sizing is controlled through API_COMMIT_MAX_COUNTER, and initial-seeding thread and commit sizing are controlled through API_REFRESH_OVERRIDE_NO_OF_THREADS and API_REFRESH_OVERRIDE_COMMIT_MAX_COUNTER.

For initial seeding, thread and commit settings should be chosen together based on expected row volume, average message size, and the complex SQL query required to build the item message from ITEM_MASTER together with hierarchy, differentiator, brand, and lookup data. Common starting points for large-volume seeding are 8, 16, or 32 threads. Values of 48 or 64 threads should be considered only after testing and with awareness of competing workload in the environment. The delivered refresh override is currently 4 threads.

Commit sizing should be reviewed together with the thread setting. Typical values can range from about 1,000 rows, or even higher values such as 10,000. The delivered delta commit setting is currently 1000, and the delivered refresh override commit setting is currently 10000.

Dropping indexes and constraints during seeding

This option applies only to initial seeding, including truncate-and-load execution of the shared item cache. Even with refresh-override threading, larger parallel insert volumes can increase index maintenance overhead and slow the load.

To reduce that overhead, DROP_INDEX_ON_REFRESH can be enabled so indexes and constraints are dropped before seeding and rebuilt after the load completes.

This can improve data-load throughput, but the overall refresh plan should also account for the additional time needed for index rebuild after the seeding step finishes. GATHER_STATS_ON_REFRESH should normally remain enabled unless testing shows a need to change it.

REST fetch considerations

Item payloads can be comparatively large, so REST page size should be selected based on average message size so that the average response remains below about 10 MB per call. Common page-limit values are 1,000, 5,000, or 10,000 rows.

For full downloads, do not provide the since query parameter so the database can favor the primary-key access path. For delta downloads, use a small time window, typically a few minutes and at most a few hours, so the eligible row set on the LAST_UPDATE_DATETIME index remains small.

Wider delta windows, especially multi-day windows that can arise during outages or data recovery, generally do not perform well. For such scenarios, keeping BUILD_HISTOGRAM enabled allows the service to support recovery through smaller, more selective polling windows using the optimalBefore query parameter.

In this catch-up pattern, for requests up to 30 days in the past, the client provides optimalBefore and leaves before empty. The client then uses the returned before timestamp to continue polling incrementally until the backlog is cleared, and then resumes the normal shortwindow delta pattern. Hourly histogram processing groups LAST_UPDATE_DATETIME values into buckets of 10,000 rows in MERCHAPI_TIMESTAMP_HISTOGRAM using the shared HISTOGRAM_ROW_COUNT configuration.

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/omnichannel/item

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
nodelevelNoStringNode Level (STORE or
WAREHOUSE)
nodeidNoString (10)Node Id
offsetkeyNoStringOffset key
limitNoString (6)Pagination limit.
Default value is 1000.
optimalBeforeNoStringEnables histogram-
based calculation of
the before timestamp
when before is not
provided. Valid values
are Y or N. Default
value is N.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-14 PageResultsItemsVMerchApiItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records

Table 5-14 (Cont.) PageResultsItemsVMerchApiItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-15 VMerchApiItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for item details.
itemNoString (25)This feld specifes the
unique alphanumeric
value that identifes
the item.
itemparentNoString (25)This feld specifes the
alphanumeric value
that uniquely
identifes the item or
group at the level
above the item.
itemgrandparentNoString (25)This feld specifes the
alphanumeric value
that uniquely
identifes the item or
group two levels above
the item.
itemlevelNoNumber(1,0)This feld specifes the
number indicating
which of the three
levels the item resides.
The item level
determines if the item
stands alone or if it is
part of a family of
related items.

Table 5-15 (Cont.) VMerchApiItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
tranlevelNoNumber(1,0)This feld specifes the
number indicating
which of the three
levels transactions
occur for the item’s
group. The transaction
level is the level at
which the item’s
inventory is tracked in
the system.
inventoryindNoString (1)This feld determines if
an item holds
inventory or not for
item transformations.
diff1levelNoString (5)This feld specifes
diff1 level.
diff1typeNoString (6)This feld specifes
diff1 type.
diff1NoString (10)This feld specifes the
diff_group or diff_id
that differentiates the
current item from its
item_parent. For an
item that is a parent,
this feld may be either
a group or value. For
an item that is not a
parent, this feld may
contain a value.
diff2levelNoString (5)This feld specifes
diff2 level.
diff2typeNoString (6)This feld specifes
diff2 type.
diff2NoString (10)This feld specifes the
diff_group or diff_id
that differentiates the
current item from its
item_parent. For an
item that is a parent,
this feld may be either
a group or value. For
an item that is not a
parent, this feld may
contain a value.
diff3levelNoString (5)This feld specifes
diff3 level.
diff3typeNoString (6)This feld specifes
diff3 type.

Table 5-15 (Cont.) VMerchApiItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diff3NoString (10)This feld specifes the
diff_group or diff_id
that differentiates the
current item from its
item_parent. For an
item that is a parent,
this feld may be either
a group or value. For
an item that is not a
parent, this feld may
contain a value.
divisionNoNumber(4,0)This feld specifes the
number which
uniquely identifes the
division of the
company.
groupidNoNumber(4,0)This feld specifes the
group in which the
department exists.
deptNoNumber(4,0)This feld uniquely
identifes the
department.
classNoNumber(4,0)This feld uniquely
identifes the class
within the system.
uniqueclassNoNumber(10,0)This feld uniquely
identifes the
department/class
combination.
subclassNoNumber(4,0)This feld uniquely
identifes the subclass.
uniquesubclassNoNumber(10,0)This feld uniquely
identifes the
department/class/
subclass combination.
descriptionNoString (250)This feld specifes the
description of the
item. For items that
have parents, this
description will
default to the parent’s
description plus any
differentiators.
shortdescriptionNoString (120)This feld specifes the
short description of
the item.
brandnameNoString (30)This feld specifes the
brand associated with
an item.

Table 5-15 (Cont.) VMerchApiItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
merchandiseindNoString (1)This feld indicates if
the item is a
merchandise item.
Merchandise items are
generally physical
items that must be
shipped or received
and for which there is
inventory. Non-
merchandise items are
often items which do
not have inventory.
Common examples
include extra fees for
service, extended
warranties,
alterations, or
endlessly available
items such as
downloads, in-app
purchases of bonus
content, and
subscriptions.
mfgrecretailNoNumber(20,4)This feld specifes the
manufacturer’s
recommended retail
price for the item. This
feld is stored in the
primary currency.
orginalunitretailNoNumber(20,4)This feld specifes the
retail price for the
item.
catchweightindNoString (1)This feld specifes
whether the item
should be weighed
when it arrives at a
location.
itemservicelevelNoString (6)This feld specifes the
value that restricts the
type of shipment
methods that RCOM
can select for an item.
giftwrapindNoString (1)This feld determines
whether the location
will support gift
wrapping or not.
shipaloneindNoString (1)This feld indicates if
the item should be
shipped to the
customer in a separate
package versus being
grouped together in a
box.

Table 5-15 (Cont.) VMerchApiItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
standarduomNoString (4)This feld specifes the
unit of measure in
which stock of the
item is tracked at a
corporate level.
productclassifcationNoString (6)This feld determines
how to pack customer
orders, such as to
determine products
that may not be able to
be packaged together.
Examples of
classifcations may
include fragile, toxic,
and heavy.
xdiff1descNoString (120)This feld specifes
diff1 description.
xdiff2descNoString (120)This feld specifes
diff2 description.
xdiff3descNoString (120)This feld specifes
diff3 description.
itemnumbertypeNoString (6)This feld specifes
what type the item is.
Valid values for this
feld are in the code
type UPCT on the
code_head and
code_detail tables.
itemlocationNoString (10)This feld specifes if
the service call was to
fetch the enterprise
view or a specifc
location. The value is
either ‘ent’ or the node
ID parameter.
localdescriptionNoString (250)This feld specifes the
local description of the
item. This is applicable
when the service
query parameter of
node level and node ID
is used to fetch data
for a specifc location.
localshortdescriptionNoString (120)This feld specifes the
local short description
of the item. This is
applicable when the
service query
parameter of node
level and node ID is
used to fetch data for a
specifc location.

Table 5-15 (Cont.) VMerchApiItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
uintypeNoString (6)This feld specifes the
unique identifcation
number (UIN) type
used to identify the
instances of the item
at the location. This is
applicable when the
service query
parameter of node
level and node ID is
used to fetch data for a
specifc location.

Table 5-16 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"item": "100100076",
"itemparent": null,
"itemgrandparent": null,
"itemlevel": 1,
"tranlevel": 1,
"inventoryind": "Y",
"diff1level": null,
"diff1type": null,
"diff1": null,
"diff2level": null,
"diff2type": null,
"diff2": null,
"diff3level": null,
"diff3type": null,
"diff3": null,
"division": 1,
"groupid": 1,
"dept": 3041,
"class": 1,
"uniqueclass": 1,
"subclass": 1,
"uniquesubclass": 1,
"description": "Regular Item 100100076",
"shortdescription": "100100076 Item",
"brandname": null,
"merchandiseind": "Y",
"mfgrecretail": 12.99,
"orginalunitretail": 12.99,
"catchweightind": "Y",
"itemservicelevel": null,
"giftwrapind": "Y",
"shipaloneind": "Y",
"standarduom": "EA",
"productclassification": null,
"xdiff1desc": null,
"xdiff2desc": null,
"xdiff3desc": null,
"itemnumbertype": "MANL",
"itemlocation": "ent",
"localdescription": "localItemDesc",
"localshortdescription": "localShortDesc",
"uintype": null
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
ElementsDescription
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON Input
 {
    "items": [
        {
            "item": "100000024",
            "action": "INSERT",
            "itemlocation": "ent",
            "itemparent": null,
            "itemgrandparent": null,
            "itemlevel": 1,
            "tranlevel": 3,
            "inventoryind": "Y",
            "diff1level": null,
            "diff1type": null,
            "diff1": null,
            "diff2level": null,
            "diff2type": null,
            "diff2": null,
            "diff3level": null,
            "diff3type": null,
            "diff3": null,
            "division": 1000,
            "groupid": 108,
            "dept": 1117,
            "class": 1,
            "uniqueclass": 51,
            "subclass": 1,
            "uniquesubclass": 432,
            "description": "Test Item 100000024 ",
            "shortdescription": "Test Item",
            "localdescription": null,
            "localshortdescription": null,
            "brandname": null,
            "merchandiseind": "Y",
            "uintype": null,
            "mfgrecretail": null,
            "orginalunitretail": 13.2,
            "catchweightind": "N",
            "itemservicelevel": null,
            "giftwrapind": "N",
            "shipaloneind": "N",
            "standarduom": "EA",
            "productclassification": "APP",
            "xdiff1desc": null,
            "xdiff2desc": null,
            "xdiff3desc": null,
            "itemnumbertype": "MANL" }
    ],
    "hasMore": true,
    "limit": 1,
    "count": 1,
    "links": [
        {
            "href": "http://<hostname>:<portnumber>/MerchIntegrations/
services/foundation/omnichannel/item?
before=2021-05-12T23%3A35%3A49.770127%2B05%3A30&nodelevel=COMPANY&limit=1&node
id=1&since=1970-01-01T00%3A00%3A00.001Z",
            "rel": "self"
        },
        {
            "href": "http://<hostname>:<portnumber>/MerchIntegrations/
services/foundation/omnichannel/item?
before=2021-05-12T23%3A35%3A49.770127%2B05%3A30&nodelevel=COMPANY&limit=1&node
id=1&offsetkey=100000024&since=1970-01-01T00%3A00%3A00.001Z ",
            "rel": "next"
        }
    ]
}

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ITEM_MASTERYesNoNoNo
ICL_RMS_ITEM_MASTERYesNoYesYes
MERCHAPI_ITEM_MASTERYesYesYesYes
V_MERCHAPI_ITEM_MASTERYesNoNoNo
ICL_RMS_ITEM_IMAGENoYesNoNo
ICL_RMS_RELATED_ITEMNoYesNoNo
ICL_RMS_ITEM_LOCNoYesNoNo
SYSTEM_OPTIONSYesNoNoNo

REST Endpoint for Omni channel/ Item UPC details

Endpoint

MerchIntegrations/services/foundation/omnichannel/item/upc

Functional Area

Items - Item Definition

Business Overview

This service publishes reference-item and UPC-style rows to the Omnichannel application and can also be consumed by downstream consuming systems. It uses the same underlying component as ‘foundation/omnichannel/item’. Functionally, the enterprise query returns only below-transaction-level items whose parent item is present in the published item cache. When callers supply nodelevel and nodeid, the service further requires a matching MERCHAPI_ITEM_LOC row for that parent item at the requested store or warehouse, so the reference item is returned only when the parent is published for that node.

Refer to the documentation for ‘foundation/omnichannel/item’ for technical details and functional considerations.

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/omnichannel/item/upc

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
nodelevelNoStringNode Level (STORE or
WAREHOUSE)
nodeidNoString (10)Node Id
offsetkeyNoStringOffset key
limitNoString (6)Pagination limit.
Default value is 1000.
Parameter NameRequiredData TypeDescription
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-17 PageResultsItemsVMerchApiItemUPC - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-18 VMerchApiItemUPC - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for item details.
itemNoString (25)This feld specifes the
unique alphanumeric
value that identifes
the item.

Table 5-18 (Cont.) VMerchApiItemUPC - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemparentNoString (25)This feld specifes the
alphanumeric value
that uniquely
identifes the item or
group at the level
above the item.
itemgrandparentNoString (25)This feld specifes the
alphanumeric value
that uniquely
identifes the item or
group two levels above
the item.
itemlevelNoNumber(1,0)This feld specifes the
number indicating
which of the three
levels the item resides.
The item level
determines if the item
stands alone or if it is
part of a family of
related items.
tranlevelNoNumber(1,0)This feld specifes the
number indicating
which of the three
levels transactions
occur for the item’s
group. The transaction
level is the level at
which the item’s
inventory is tracked in
the system.
inventoryindNoString (1)This feld determines if
an item holds
inventory or not for
item transformations.
diff1levelNoString (5)This feld specifes
diff1 level.
diff1typeNoString (6)This feld specifes
diff1 type.
diff1NoString (10)This feld specifes the
diff_group or diff_id
that differentiates the
current item from its
item_parent. For an
item that is a parent,
this feld may be either
a group or value. For
an item that is not a
parent, this feld may
contain a value.
diff2levelNoString (5)This feld specifes
diff2 level.

Table 5-18 (Cont.) VMerchApiItemUPC - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diff2typeNoString (6)This feld specifes
diff2 type.
diff2NoString (10)This feld specifes the
diff_group or diff_id
that differentiates the
current item from its
item_parent. For an
item that is a parent,
this feld may be either
a group or value. For
an item that is not a
parent, this feld may
contain a value.
diff3levelNoString (5)This feld specifes
diff3 level.
diff3typeNoString (6)This feld specifes
diff3 type.
diff3NoString (10)This feld specifes the
diff_group or diff_id
that differentiates the
current item from its
item_parent. For an
item that is a parent,
this feld may be either
a group or value. For
an item that is not a
parent, this feld may
contain a value.
divisionNoNumber(4,0)This feld specifes the
number which
uniquely identifes the
division of the
company.
groupidNoNumber(4,0)This feld specifes the
group in which the
department exists.
deptNoNumber(4,0)This feld uniquely
identifes the
department.
classNoNumber(4,0)This feld uniquely
identifes the class
within the system.
uniqueclassNoNumber(10,0)This feld uniquely
identifes the
department/class
combination.
subclassNoNumber(4,0)This feld uniquely
identifes the subclass.

Table 5-18 (Cont.) VMerchApiItemUPC - Object. See list of elements for detail

Element NameRequiredData TypeDescription
uniquesubclassNoNumber(10,0)This feld uniquely
identifes the
department/class/
subclass combination.
descriptionNoString (250)This feld specifes the
description of the
item. For items that
have parents, this
description will
default to the parent’s
description plus any
differentiators.
shortdescriptionNoString (120)This feld specifes the
short description of
the item.
brandnameNoString (30)This feld specifes the
brand associated with
an item.
merchandiseindNoString (1)This feld indicates if
the item is a
merchandise item.
Merchandise items are
generally physical
items that must be
shipped or received
and for which there is
inventory. Non-
merchandise items are
often items which do
not have inventory.
Common examples
include extra fees for
service, extended
warranties,
alterations, or
endlessly available
items such as
downloads, in-app
purchases of bonus
content, and
subscriptions.
mfgrecretailNoNumber(20,4)This feld specifes the
manufacturer’s
recommended retail
price for the item. This
feld is stored in the
primary currency.
orginalunitretailNoNumber(20,4)This feld specifes the
retail price for the
item.

Table 5-18 (Cont.) VMerchApiItemUPC - Object. See list of elements for detail

Element NameRequiredData TypeDescription
catchweightindNoString (1)This feld specifes
whether the item
should be weighed
when it arrives at a
location.
itemservicelevelNoString (6)This feld specifes the
value that restricts the
type of shipment
methods that RCOM
can select for an item.
giftwrapindNoString (1)This feld determines
whether the location
will support gift
wrapping or not.
shipaloneindNoString (1)This feld indicates if
the item should be
shipped to the
customer in a separate
package versus being
grouped together in a
box.
standarduomNoString (4)This feld specifes the
unit of measure in
which stock of the
item is tracked at a
corporate level.
productclassifcationNoString (6)This feld determines
how to pack customer
orders, such as to
determine products
that may not be able to
be packaged together.
Examples of
classifcations may
include fragile, toxic,
and heavy.
xdiff1descNoString (120)This feld specifes
diff1 description.
xdiff2descNoString (120)This feld specifes
diff2 description.
xdiff3descNoString (120)This feld specifes
diff3 description.
itemnumbertypeNoString (6)This feld specifes
what type the item is.
Valid values for this
feld are in the code
type UPCT on the
code_head and
code_detail tables.

Table 5-18 (Cont.) VMerchApiItemUPC - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemlocationNoString (10)This feld specifes if
the service call was to
fetch the enterprise
view or a specifc
location. The value is
either ‘ent’ or the node
ID parameter.
localdescriptionNoString (250)This feld specifes the
local description of the
item. This is applicable
when the service
query parameter of
node level and node ID
is used to fetch data
for a specifc location.
localshortdescriptionNoString (120)This feld specifes the
local short description
of the item. This is
applicable when the
service query
parameter of node
level and node ID is
used to fetch data for a
specifc location.
uintypeNoString (6)This feld specifes the
unique identifcation
number (UIN) type
used to identify the
instances of the item
at the location. This is
applicable when the
service query
parameter of node
level and node ID is
used to fetch data for a
specifc location.

Table 5-19 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"item": "100100076",
"itemparent": null,
"itemgrandparent": null,
"itemlevel": 1,
"tranlevel": 1,
"inventoryind": "Y",
"diff1level": null,
"diff1type": null,
"diff1": null,
"diff2level": null,
"diff2type": null,
"diff2": null,
"diff3level": null,
"diff3type": null,
"diff3": null,
"division": 1,
"groupid": 1,
"dept": 3041,
"class": 1,
"uniqueclass": 1,
"subclass": 1,
"uniquesubclass": 1,
"description": "Regular Item 100100076",
"shortdescription": "100100076 Item",
"brandname": null,
"merchandiseind": "Y",
"mfgrecretail": 12.99,
"orginalunitretail": 12.99,
"catchweightind": "Y",
"itemservicelevel": null,
"giftwrapind": "Y",
"shipaloneind": "Y",
"standarduom": "EA",
"productclassification": null,
"xdiff1desc": null,
"xdiff2desc": null,
"xdiff3desc": null,
"itemnumbertype": "MANL",
"itemlocation": "ent",
"localdescription": "localItemDesc",
"localshortdescription": "localShortDesc",
"uintype": null
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON input:
" {
    "items": [
        {
            "item": "101100001",
            "action": "INSERT",
            "itemlocation": "ent",
            "itemparent": "100250007",
            "itemgrandparent": null,
            "itemlevel": 2,
            "tranlevel": 1,
            "inventoryind": "Y",
            "diff1level": null,
            "diff1type": null,
            "diff1": null,
            "diff2level": null,
            "diff2type": null,
            "diff2": null,
            "diff3level": null,
            "diff3type": null,
            "diff3": null,
            "division": 3000,
            "groupid": 304,
            "dept": 3041,
            "class": 1,
            "uniqueclass": 139,
            "subclass": 1,
            "uniquesubclass": 17,
            "description": "Something - MK",
            "shortdescription": "Something",
            "localdescription": null,
            "merchandiseind": "Y",
            "uintype": null,
            "mfgrecretail": null,
            "orginalunitretail": null,
            "catchweightind": "N",
            "itemservicelevel": null,
            "giftwrapind": "N",
            "shipaloneind": "N",
            "standarduom": "EA",
            "productclassification": null,
            "xdiff1desc": null,
            "xdiff2desc": null,
            "xdiff3desc": null,
            "itemnumbertype": "UPC-A"
       }
    ],
    "hasMore": true,
    "limit": 1,
    "count": 1,
    "links": [
        {
            "href": "http://<hostname>:<portnumber>/MerchIntegrations/
services/foundation/omnichannel/item/upc?
before=2021-05-13T16%3A38%3A07.284763%2B05%3A30&nodelevel=COMPANY&limit=1&node
id=1&since=1970-01-01T00%3A00%3A00.001Z ",
            "rel": "self"
        },
        {
            "href": "http://<hostname>:<portnumber>/MerchIntegrations/
services/foundation/omnichannel/item/upc?
before=2021-05-13T16%3A38%3A07.284763%2B05%3A30&nodelevel=COMPANY&limit=1&node
id=1&offsetkey=101100001&since=1970-01-01T00%3A00%3A00.001Z ",
            "rel": "next"
        }
    ]
}"

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
ITEM_MASTERYesNoNoNo
ICL_RMS_ITEM_MASTERYesNoYesYes
MERCHAPI_ITEM_MASTERYesYesYesYes
V_MERCHAPI_ITEM_MASTERYesNoNoNo
ICL_RMS_ITEM_IMAGENoYesNoNo
ICL_RMS_RELATED_ITEMNoYesNoNo
ICL_RMS_ITEM_LOCNoYesNoNo
SYSTEM_OPTIONSYesNoNoNo

REST Endpoint for Omni channel/ Merchandise Hierarchy details

Endpoint

MerchIntegrations/services/foundation/omnichannel/merchhier

Functional Area

Merchandise Hierarchy

Business Overview

This service retrieves the merchandise hierarchy relationships. No details about each hierarchy value are provided, only the hierarchy tree relationships are returned. In order to fetch new updates pass the parameter of since/before timestamp.

This service publishes the merchandise hierarchy to the Omnichannel application and can also be consumed by downstream consuming systems. It publishes the current company-throughsubclass hierarchy tree with parent-child links, hierarchy display identifiers, and buyer assignments where they are maintained in Merchandising. This service does not provide details about individual hierarchy value, only the hierarchy tree relationships are returned.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: DIVISION, GROUPS, DEPS, CLASS, SUBCLASS

Additional business tables: COMPHEAD, CODE_DETAIL

JSON cache table: MERCHAPI_MERCH_HIER

JSON generation view: V_MERCHAPI_MERCH_HIER_JSON

The source view builds the company-through-subclass hierarchy from COMPHEAD, DIVISION, GROUPS, DEPS, CLASS, SUBCLASS, and CODE_DETAIL, and it uses CODE_DETAIL (CODE_TYPE = ‘MHSO’) to label and sort the hierarchy levels.

Functionally, the service publishes the current hierarchy tree with parent-child links, display identifiers, and buyer assignments where they are maintained, and it seeds the company row when it is missing so the tree always has a company root.

The cache is refreshed from that current-state hierarchy source so the published tree stays aligned with the latest company-through-subclass structure in Merchandising.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild pull published rows from V_MERCHAPI_MERCH_HIER_JSON. No additional filter criteria were identified beyond the cache-build logic.

Rebuild marks cache rows deleted when the hierarchy row no longer exists in V_MERCHAPI_MERCH_HIER_JSON.

ICL (Integration Change Log) table: ICL_RMS_DIVISION, ICL_RMS_GROUPS, ICL_RMS_DEPS, ICL_RMS_CLASS, ICL_RMS_SUBCLASS (ICL consumer name = MERCHAPI)

Delta processing is driven by ICL_RMS_DIVISION, ICL_RMS_GROUPS, ICL_RMS_DEPS, ICL_RMS_CLASS, and ICL_RMS_SUBCLASS.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_OMNI_MERCH_HIER

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_OMNI_MERCH_HIER_ADHOC_PROCESS MERCHAPI_OMNI_MERCH_HIER_ADHOC_JOB

Webhook configuration api name: foundation/omnichannel/merchhier

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/omnichannel/merchhier

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
limitNoString (6)Pagination limit.
Default value is 1000.
offsetkeyNoStringOffset key
Parameter NameRequiredData TypeDescription
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-20 PageResultsItemsVMerchapiMerchHier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-21 VMerchapiMerchHier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for
merchandising
hierarchy.
nodeidNoNumber(10,0)This column contains
the Merchandising
Hierarchy ID.
hierarchylevelNoString (10)This column contains
the Merchandising
Hierarchy Level.

Table 5-21 (Cont.) VMerchapiMerchHier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nodenameNoString (120)This column contains
the name of the
Merchandising
Hierarchy.
parentlevelNoString (10)This column contains
the Parent
Merchandising
Hierarchy Level.
parentnodeidNoNumber(10,0)This column contains
the Parent
Merchandising
Hierarchy ID.
merchdisplayidNoNumber(10,0)This column contains
the merchandising
hierarchy display ID.
buyerNoNumber(4,0)This column contains
the number of the
buyer associated with
the merchandising
hierarchy.

Table 5-22 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"nodeid": 1,
"hierarchylevel": "COMPANY",
"nodename": "Retailers Ltd",
"parentlevel": "COMPANY",
"parentnodeid": 1,
"merchdisplayid": 1,
"buyer": 1002
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON input:
" {
    "items": [
        {
            "action": "UPDATE",
            "nodeid": 1,
            "hierarchylevel": "COMPANY",
            "nodename": "Retailers Ltd",
            "parentlevel": null,
            "parentnodeid": null,
            "merchdisplayid": 1,
            "buyer": null
}
    ],
    "hasMore": true,
    "limit": 1,
    "count": 1,
    "links": [
        {
            "href": "http://<hostname>:<portnumber>/MerchIntegrations/
services/foundation/omnichannel/merchhier?
before=2021-05-12T20%3A43%3A04.296066%2B05%3A30&limit=1&since=1970-01-01T00%3A
00%3A00.001Z",
            "rel": "self"
        },
        {
            "href": "http://<hostname>:<portnumber>/MerchIntegrations/
services/foundation/omnichannel/location/warehouse?
before=2021-05-12T20%3A15%3A13.253929%2B05%3A30&limit=1&offsetkey=2%2Cvirtual&
since=1970-01-01T00%3A00%3A00.001Z ",
            "rel": "next"
        }
    ]
}"

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_DIVISIONYesNoYesYes
ICL_RMS_GROUPSYesNoYesYes
ICL_RMS_DEPSYesNoYesYes
ICL_RMS_CLASSYesNoYesYes
ICL_RMS_SUBCLASSYesNoYesYes
COMPHEADYesNoNoNo
CODE_DETAILYesNoNoNo
MERCHAPI_MERCH_HIERYesYesYesYes
V_ MERCHAPI_MERCH_HIERYesNoNoNo
V_ MERCHAPI_MERCH_HIER _JSONYesNoNoNo
SYSTEM_OPTIONSYesNoNoNo

REST Endpoint for Omni channel/Org hier descendant’s details

Endpoint

MerchIntegrations/services/foundation/omnichannel/orghier/descendant

Functional Area

Organizational Hierarchy

Business Overview

This service retrieves organization hierarchy relationships for the levels below the provided hierarchy value (including warehouses). For example, if a region is sent in as the input information, the service will return all of the districts and stores in the provided region. No details about each hierarchy value are provided, only the hierarchy tree relationships are returned. In order to fetch new updates pass the parameter of since/before timestamp.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: CHAIN, AREA, REGION, DISTRICT, STORE, WH, ADDR

Additional business tables: COMPHEAD, CODE_DETAIL

JSON cache table: MERCHAPI_ORG_HIER (shared with foundation/omnichannel/orghier)

JSON generation view: V_ORG_HIER_FULL_VW (shared cache source used by foundation/ omnichannel/orghier)

This service is the descendant projection over the same organizational hierarchy cache table, MERCHAPI_ORG_HIER.

It uses the same underlying hierarchy data built from V_ORG_HIER_FULL_VW, but functionally it returns the current non-deleted descendants beneath a supplied organization node rather than the broader change-tracked relationship feed.

Because it is a child merchapi of foundation/omnichannel/orghier, it does not have its own separate cache-population process.

Initial Seeding and post enablement rebuild/repair

This service relies on the shared initial-seeding and rebuild flow used by foundation/ omnichannel/orghier.

That shared rebuild uses the all-level org-hierarchy refresh path.

ICL (Integration Change Log) table: ICL_RMS_CHAIN, ICL_RMS_AREA, ICL_RMS_REGION, ICL_RMS_DISTRICT, ICL_RMS_STORE, ICL_RMS_WH, ICL_RMS_ADDR (ICL consumer name = MERCHAPI)

This child service relies on the shared org-hierarchy delta flow, with address deltas scoped to modules WH, ST, and WFST.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_OMNI_ORG_HIER_STR_WH

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_OMNI_ORG_HIER_STR_WH_ADHOC_PROCESS MERCHAPI_OMNI_ORG_HIER_STR_WH_ADHOC_JOB

Webhook configuration api name: foundation/omnichannel/orghier/descendant

Special handling

Additional GET query parameters: nodelevel, nodeid.

Supported nodelevel values for this service are COMPANY, CHAIN, AREA, REGION, DISTRICT.

Foundation/omnichannel/orghier/descendant is a child merchapi of foundation/omnichannel/ orghier.

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/omnichannel/orghier/descendant

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
nodelevelNoStringNode Level
nodeidNoString (10)Node Id
offsetkeyNoStringOffset key
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-23 PageResultsItemsVMerchApiOrgHier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records

Table 5-23 (Cont.) PageResultsItemsVMerchApiOrgHier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-24 VMerchApiOrgHier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hierarchylevelNoString (10)This feld specifes
Organization
Hierarchy Level.
hierarchynodeidNoNumber(10,0)This feld specifes
Organization
Hierarchy ID.
hierarchynodenameNoString (120)This feld specifes the
name of the
Organization
Hierarchy ID.
parentlevelNoString (10)This feld specifes the
Parent Organization
Hierarchy Level.
parentidNoNumber(10,0)This feld specifes
Parent Organization
Hierarchy ID.
levelorderNoNumber(4,0)This feld specifes the
hierarchy level order.

Table 5-25 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL

Table 5-25 (Cont.) LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "hierarchylevel": "CHAIN", "hierarchynodeid": 100, "hierarchynodename": null, "parentlevel": null, "parentid": 1, "levelorder": 10 } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
ElementsDescription
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON input:
" {
  "items": [
    {
      "hierarchylevel": "COMPANY",
      "hierarchynodeid": 9118,
      "hierarchynodename": "Retailers Ltd",
      "parentlevel": null,
      "parentid": null,
      "levelorder": 1
    }
  ],
  "hasMore": true,
  "limit": 1,
  "count": 1,
  "links": [
    {
      "href": "http://<hostname>/MerchIntegrations/services/foundation/
omnichannel/orghier/descendant?nodelevel=COMPANY&limit=1&nodeid=9118",
      "rel": "self"
    },
    {
      "href": "http://<hostname>/MerchIntegrations/services/foundation/
omnichannel/orghier/descendant?
nodelevel=COMPANY&limit=1&nodeid=9118&offsetkey=1%2C9118",
      "rel": "next"
    }
  ]
}"

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
V_ICL_RMS_ORGHIERYesNoNoNo
ICL_RMS_CHAINYesYesYesYes
ICL_RMS_AREAYesYesYesYes
ICL_RMS_REGIONYesYesYesYes
ICL_RMS_DISTRICTYesYesYesYes
ITEM_LOCYesNoNoNo
MERCHAPI_ORG_HIERYesYesYesYes
V_ORG_HIER_FULL_VWYesNoNoNo
V_MERCHAPI_ORG_HIERYesNoNoNo

REST Endpoint for Omni channel/Org hierarchy details

Endpoint

MerchIntegrations/services/foundation/omnichannel/orghier

Functional Area

Organizational Hierarchy

Business Overview

This service publishes organizational hierarchy relationships to downstream consuming systems. It expands the company, chain, area, region, district, store, and warehouse node set into hierarchy relationship rows so consuming systems can retrieve descendants beneath a selected parent node while each row still carries its immediate parent information.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: CHAIN, AREA, REGION, DISTRICT, STORE, WH, ADDR

Additional business tables: COMPHEAD, CODE_DETAIL

JSON cache table: MERCHAPI_ORG_HIER

JSON generation view: not applicable; source hierarchy view is V_ORG_HIER_FULL_VW

That source view builds company, chain, area, region, district, store, and warehouse nodes from COMPHEAD, CHAIN, AREA, REGION, DISTRICT, STORE, WH, and CODE_DETAIL.

Functionally, V_MERCHAPI_ORG_HIER expands those nodes into ancestor-to-descendant relationship rows, so consumers can retrieve the hierarchy beneath a selected parent node while each row still carries its immediate parent information.

The shared package processes higher organization levels directly and then invokes the retailstore and warehouse loaders so the broader org-hierarchy, store, and warehouse caches stay aligned.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild pull published rows from V_ORG_HIER_FULL_VW. No additional filter criteria were identified beyond the cache-build logic.

Foundation/omnichannel/orghier rebuilds all hierarchy levels.

ICL (Integration Change Log) table: ICL_RMS_CHAIN, ICL_RMS_AREA, ICL_RMS_REGION, ICL_RMS_DISTRICT, ICL_RMS_STORE, ICL_RMS_WH, ICL_RMS_ADDR (ICL consumer name = MERCHAPI)

Delta processing uses ICL_RMS_CHAIN, ICL_RMS_AREA, ICL_RMS_REGION, ICL_RMS_DISTRICT, ICL_RMS_STORE, ICL_RMS_WH, and ICL_RMS_ADDR, with address deltas scoped to modules WH, ST, and WFST.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_OMNI_ORG_HIER_STR_WH

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_OMNI_ORG_HIER_STR_WH_ADHOC_PROCESS MERCHAPI_OMNI_ORG_HIER_STR_WH_ADHOC_JOB

Webhook configuration api name: foundation/omnichannel/orghier

Special handling

Additional GET query parameters: nodelevel, nodeid.

Supported nodelevel values for this service are COMPANY, CHAIN, AREA, REGION, DISTRICT, STORE.

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/omnichannel/orghier

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
Parameter NameRequiredData TypeDescription
nodelevelNoStringNode Level
nodeidNoString (10)Node Id
offsetkeyNoStringOffset key
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-26 PageResultsItemsVMerchApiOrgHierDetail - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-27 VMerchApiOrgHierDetail - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for
organization hierarchy
detail.

Table 5-27 (Cont.) VMerchApiOrgHierDetail - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hierarchylevelNoString (10)This feld specifes
Organization
Hierarchy Level.
hierarchynodeidNoNumber(10,0)This feld specifes
Organization
Hierarchy ID.
hierarchynodenameNoString (120)This feld specifes the
name of the
Organization
Hierarchy ID.
parentlevelNoString (10)This feld specifes the
Parent Organization
Hierarchy Level.
parentidNoNumber(10,0)This feld specifes
Parent Organization
Hierarchy ID.
mgrnameNoString (120)This feld specifes the
name of the store
manager.
stockholdingNoString (1)This feld specifes
whether the store can
hold stock. This feld
holds value only for
stores.
integratedposNoString (1)This feld indicates
whether or not the
POS system at the
store is integrated.
This feld holds value
only for stores.

Table 5-28 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": null,
"hierarchylevel": "CHAIN",
"hierarchynodeid": 100,
"hierarchynodename": null,
"parentlevel": null,
"parentid": 1,
"mgrname": null,
"stockholding": null,
"integratedpos": null
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than limit defned then hasMore will be set to true
else false.
LimitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
Links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON input:
" {
      "action": "UPDATE",
      "hierarchylevel": "AREA",
      "hierarchynodeid": 1212,
      "hierarchynodename": "Area 12121",
  • "parentlevel": "CHAIN",
      "parentid": 1212,
      "mgrname": "V",
      "stockholding": null,
      "integratedpos": null
    }
  ],
  "hasMore": true,
  "limit": 1,
  "count": 1,
  "links": [
    {
      "href": "http://<hostname>/MerchIntegrations/services/foundation/
omnichannel/orghier?
before=2021-05-11T15%3A20%3A25.711306%2B00%3A00&nodelevel=COMPANY&limit=1&node
id=9118&since=1970-01-01T00%3A00%3A00.001Z",
      "rel": "self"
    },
    {
      "href": "http://<hostname>/MerchIntegrations/services/foundation/
omnichannel/orghier?
before=2021-05-11T15%3A20%3A25.711306%2B00%3A00&nodelevel=COMPANY&limit=1&node
id=9118&offsetkey=AREA%2C1212&since=1970-01-01T00%3A00%3A00.001Z",
      "rel": "next"
    }
  ]
}"

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
V_ICL_RMS_ORGHIERYesNoNoNo
ICL_RMS_CHAINYesYesYesYes
ICL_RMS_AREAYesYesYesYes
ICL_RMS_REGIONYesYesYesYes
ICL_RMS_DISTRICTYesYesYesYes
ITEM_LOCYesNoNoNo
MERCHAPI_ORG_HIERYesYesYesYes
V_ORG_HIER_FULL_VWYesNoNoNo
V_MERCHAPI_ORG_HIERYesNoNoNo

REST Endpoint for Omni channel/refresh Date

Endpoint

MerchIntegrations/services /omnichannel/refreshdate

Functional Area

Administration - Operations

Business Overview

This is a metadata publish service that exposes the list of enabled integration services together with cache-refresh and latest-change information for each service. It is intended as a lightweight pre-check for clients that call multiple integration APIs as part of the same batch or polling process. By calling this service first, a client can identify which APIs have had a real data change and avoid redundant requests to services whose published data has not changed.

Cache refresh timestamp: The timestamp when the JSON cache for a service was initially loaded or most recently fully refreshed. This helps determine when a cache was last rebuilt and whether a downstream consumer should perform a bulk reload or continue with delta retrieval. This information is sourced from MERCHAPI_CONFIG.

Latest data update timestamp: The most recent data-update timestamp for the service. This helps reduce unnecessary calls across multiple integration services by allowing a client to identify, in a single request, which services have had recent data changes. This information is derived by querying the applicable underlying table for each individual service.

Implementation usage: Where a client batch process calls multiple publish APIs in sequence, this service can be used as a gating step to determine which APIs need to be called in that cycle and which can be skipped because no new published data is available.

XStore usage: XStore relies extensively on this service to keep integration calls from XOCS to MFCS relevant by helping avoid unnecessary requests to APIs whose published data has not changed.

Performance note: This service relies on the LAST_UPDATE_DATETIME index being available on each JSON cache table. If any API is running initial seeding with the drop-index option enabled and the index rebuild has not yet completed, performance of this service for that table can degrade.

Service Type

GET

ReST URL

MerchIntegrations/services/omnichannel/refreshdate

Input Parameters

Parameter NameRequiredData TypeDescription
entitytypeNoStringentity type
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-29 PageResultsItemsVMerchApiRefreshDate - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-30 VMerchApiRefreshDate - Object. See list of elements for detail

Element NameRequiredData TypeDescription
entityNoString (100)This feld gives the
service name which is
defned in
merchapi_confg table.

Table 5-30 (Cont.) VMerchApiRefreshDate - Object. See list of elements for detail

Element NameRequiredData TypeDescription
refreshdateNodateTimeThis feld gives the
refresh date which is
the time when the
initial loading of the
service completes and
the API is enabled in
merchapi_confg table.
This feld can be used
to identify if a bulk
process (api
enablement or refresh
with the option
truncate and load) was
done for the api. A
change of refresh date
indicates that the
entire dataset is
available for subscribe
for the publish API.
Note: XOCS heavily
relies on this this feld
during every 30 min
polling request to
identify if the fetch for
an API will be delta
increment or a full
download for an API
and accordingly
handle the call
differently.
latestupdatetimeNodateTimeThis feld provides the
most recent update
timestamp for the
dataset applicable for
the API. The purpose
of this feld is to
provide additional
visibility of the data
changes across all the
API in a single place to
have the client calling
the differnet publish
API at regular
frequency to optimize
the number of service
calls.

Table 5-31 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL

Table 5-31 (Cont.) LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "entity": "ItemImage", "refreshdate": "2001-12-31T23:59:59.000Z", "latestupdatetime": "2001-12-31T23:59:59.000Z" } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
ElementsDescription
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.

Example JSON input:

" {
  "items": [
    {
      "entity": "COFutureAvail",
      "refreshdate": "2020-12-17T10:03:12.324664000-06:00",
     "latestupdatetime": "2022-04-25T11:26:01.714875000+00:00"
    }
  ],
  "hasMore": false,
  "limit": 10000,
  "count": 15,
  "links": [
    {
      "href": "http://<hostname> /MerchIntegrations/services/omnichannel/
refreshdate?
before=2021-05-06T21%3A00%3A34.238393%2B08%3A00&limit=10000&since=1970-01-01T0
0%3A00%3A00.001Z",
      "rel": "self"
    }
  ]
}

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
V_CACHE_REFRESH_DATEYesNoNoNo

REST Endpoint for Omni channel/Warehouse details

Endpoint

MerchIntegrations/services/foundation/omnichannel/location/warehouse

Functional Area

Organizational Hierarchy - Warehouses

Business Overview

This service publishes warehouse details to the Omnichannel application and can also be consumed by downstream consuming systems. It publishes warehouse records with the primary warehouse address maintained in Merchandising and derives the published warehouse type as physical or virtual from the warehouse relationship data.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: WH, ADDR

Additional business tables: CHANNELS, ADD_TYPE_MODULE, V_ADD_TYPE_TL, STATE, COUNTRY

JSON cache table: MERCHAPI_WH

JSON generation view: V_MERCHAPI_WH_JSON

The JSON view is built from WH, CHANNELS, ADDR, ADD_TYPE_MODULE, STATE, COUNTRY, and V_ADD_TYPE_TL.

Functionally, it publishes warehouse records with their primary warehouse address (ADDR_TYPE = 1 and PRIMARY_ADDR_IND = ‘Y’) and derives the published warehouse type as physical or virtual from the PHYSICAL_WH relationship.

The warehouse cache shares its loader with the omnichannel organization hierarchy and retailstore caches through the shared API_OMNI_ORG_HIER_STR_WH process.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_WH_JSON and publish warehouse records with the primary warehouse address where ADDR_TYPE = 1 and PRIMARY_ADDR_IND = ‘Y’.

ICL (Integration Change Log) table: ICL_RMS_WH, ICL_RMS_ADDR (ICL consumer name = MERCHAPI)

Warehouse changes come from ICL_RMS_WH, and address-only changes come from ICL_RMS_ADDR for module WH.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_OMNI_ORG_HIER_STR_WH

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_OMNI_ORG_HIER_STR_WH_ADHOC_PROCESS MERCHAPI_OMNI_ORG_HIER_STR_WH_ADHOC_JOB

Webhook configuration api name: foundation/omnichannel/location/warehouse

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/omnichannel/location/warehouse

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoStringOffset key
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-32 PageResultsItemsVMerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request

Table 5-32 (Cont.) PageResultsItemsVMerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-33 VMerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for warehouse
details.
warehouseidNoNumber(10,0)This feld uniquely
identifes the
warehouse.
typeNoString (8)This feld determines
which warehouses are
physical and which
are virtual.
warehousenameNoString (150)This feld specifes the
name of the
warehouse which,
along with the
warehouse number,
identifes the
warehouse.
whnamesecondaryNoString (150)This feld specifes the
secondary name of the
warehouse.
contactnameNoString (120)This feld specifes the
name of the contact at
this location.
phonenumberNoString (20)This feld specifes the
phone number of the
contact person at this
location.
faxnumberNoString (20)This feld specifes the
fax number of the
contact person at this
location.
emailNoString (100)This feld specifes the
email of the contact
person at this location.

Table 5-33 (Cont.) VMerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
currencycodeNoString (3)This feld specifes the
currency code under
which the warehouse
operates.
physicalwhNoNumber(10,0)This feld specifes the
number of the
physical warehouse
that is assigned to the
virtual warehouse.
vatregionNoNumber(4,0)This feld specifes the
unique identifying
number for the VAT
region where this
warehouse is located.
orghiertypeNoNumber(4,0)This feld specifes the
organization type that
will be used for
reporting purposes for
the warehouse. The
type comes from the
organizational
hierarchy.
orghiervalueNoNumber(10,0)This feld specifes the
code associated with
the specifc
organizational
hierarchy type.
orgentitytypeNoString (1)This feld specifes if
the warehouse is a
legal entity (importer,
exporter) or a regular
warehouse.
channelidNoNumber(4,0)This feld specifes the
channel for which the
virtual warehouse will
be assigned.
channelnameNoString (120)This feld specifes the
name of the channel
for which the virtual
warehouse will be
assigned.
address1NoString (240)This feld specifes the
frst line of the
address.
address2NoString (240)This feld specifes the
second line of the
address.
address3NoString (240)This feld specifes the
third line of the
address.

Table 5-33 (Cont.) VMerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
cityNoString (120)This feld specifes the
name of the city that is
associated with the
address.
stateNoString (3)This feld specifes the
state abbreviation for
the address.
countryNoString (3)This feld specifes the
country where the
address exists.
postalcodeNoString (30)This feld specifes the
zip code for the
address.

Table 5-34 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": null,
"warehouseid": 6000,
"type": "physical",
"warehousename": null,
"whnamesecondary": null,
"contactname": "Laura Johnson",
"phonenumber": "1800800800",
"faxnumber": "617-897-0902",
"email": "someone@email.com",
"currencycode": "USD",
"physicalwh": 6000,
"vatregion": 1000,
"orghiertype": 50,
"orghiervalue": 1,
"orgentitytype": "R",
"channelid": 1,
"channelname": null,
"address1": "101 First Street",
"address2": "201 Second Street",
"address3": null,
"city": "Minneapolis",
"state": "MN",
"country": "US",
"postalcode": "55555-1234"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.

Example JSON input:

" {
    "items": [
        {
            "action": "INSERT",
            "warehouseid": 2,
            "type": "virtual",
            "warehousename": "N. America Central",
            "whnamesecondary": null,
            "contactname": "Sue Glass",
            "phonenumber": "3122222473",
            "faxnumber": null,
            "email": null,
            "currencycode": "USD",
            "physicalwh": 2,
            "vatregion": 1000,
            "orghiertype": null,
            "orghiervalue": null,
            "orgentitytype": "R",
            "channelid": null,
            "channelname": null,
            "address1": "123 Street",
            "address2": "Anytown",
            "address3": null,
            "city": "Anycity",
            "state": "MN",
            "country": "US",
            "postalcode": "50250"        }
    ],
    "hasMore": true,
    "limit": 1,
    "count": 1,
    "links": [
        {
            "href": "http://<hostname>:<portnumber>/MerchIntegrations/
services/foundation/omnichannel/location/warehouse?
before=2021-05-12T20%3A15%3A13.253929%2B05%3A30&limit=1&since=1970-01-01T00%3A
00%3A00.001Z ",
            "rel": "self"
        },
        {
            "href": "http://<hostname>:<portnumber>/MerchIntegrations/
services/foundation/omnichannel/merchhier?
before=2021-05-12T21%3A00%3A13.036021%2B05%3A30&limit=1&offsetkey=10%2C1&since
=1970-01-01T00%3A00%3A00.001Z ",
            "rel": "next"
        }
    ]
}"

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_WHYesNoYesYes
ICL_RMS_ADDRYesNoYesYes
ADDRYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
MERCHAPI_WHYesYesYesYes
MERCHAPI_ORG_HIERNoNoYesNo
V_MERCHAPI_WHYesNoNoNo
V_MERCHAPI_WH_JSONYesNoNoNo
SYSTEM_OPTIONSYesNoNoNo

REST Endpoint for Omnichannel/related Item

Endpoint

MerchIntegrations/services/foundation/omnichannel/item/relateditem

Functional Area

Items - Related Items

Business Overview

This service publishes related-item relationships to the Omnichannel application and can also be consumed by downstream consuming systems. It publishes relationships between a primary item and related items only while both item records remain approved in Merchandising, so relationships tied to non-approved primary or related items are not returned.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: RELATED_ITEM_HEAD, RELATED_ITEM_DETAIL, ITEM_MASTER

Additional business tables: none

JSON cache table: MERCHAPI_RELATED_ITEM

JSON generation view: V_MERCHAPI_RELATED_ITEM_JSON

The JSON view joins RELATED_ITEM_HEAD, RELATED_ITEM_DETAIL, and ITEM_MASTER for both the primary and related items.

Functionally, the main item and the related item must both still be approved (ITEM_MASTER.STATUS = ‘A’), so the service publishes only active relationships between approved items.

The cache is refreshed from the approved relationship set in

V_MERCHAPI_RELATED_ITEM_JSON and is republished when qualifying relationship or item approval changes occur.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_RELATED_ITEM_JSON and apply the rule that both item rows must have STATUS = ‘A’.

ICL (Integration Change Log) table: ICL_RMS_RELATED_ITEM (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on RELATED_ITEM_HEAD, RELATED_ITEM_DETAIL, ITEM_MASTER.

Item Approval Handling

On item approval, the main item publish flow writes related-item head and detail rows where the approved item is the primary item to ICL_RMS_RELATED_ITEM so qualifying relationships can publish when the item becomes approved.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_OMNI_RELATED_ITEM

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_OMNI_RELATED_ITEM_ADHOC_PROCESS MERCHAPI_OMNI_RELATED_ITEM_ADHOC_JOB

Webhook configuration api name: foundation/omnichannel/item/relateditem

Special handling

Additional GET query parameters: nodelevel, nodeid.

Service Types

GET

ReST URL

MerchIntegrations/services/foundation/omnichannel/item/relateditem

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
nodelevelNoStringNode Level
nodeidNoString (10)Node Id
Parameter NameRequiredData TypeDescription
limitNoString (6)Pagination limit.
Default value is 1000.
offsetkeyNoStringOffset key
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-35 PageResultsItemsVMerchApiRelatedItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-36 VMerchApiRelatedItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for related
item.
relationshipidNoNumber(20,0)This column contains
the Relationship ID.
itemNoString (25)This column contains
the item.

Table 5-36 (Cont.) VMerchApiRelatedItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
relationshiptypeNoString (6)This column contains
the relationship type.
mandatoryindNoString (1)This column contains
the mandatory
indicator.
relateditemNoString (25)This column contains
the related item.
relateditemactionNoString (6)Action for related item
detail.
startdateNodateThis column contains
the start date.
enddateNodateThis column contains
the end date.
priorityNoNumber(4,0)This column contains
the priority.

Table 5-37 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"relationshipid": 1,
"item": null,
"relationshiptype": null,
"mandatoryind": null,
"relateditem": null,
"relateditemaction": null,
"startdate": "2001-12-31",
"enddate": "2001-12-31",
"priority": 1
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON input:
" {
  "items": [
    {
      "action": "INSERT",
      "relationshipid": 120001,
      "item": "111150001",
      "relationshiptype": "CRSL",
      "mandatoryind": "N",
      "relateditem": "111051290",
      "relateditemaction": "INSERT",
      "startdate": null,
      "enddate": null,
      "priority": null
    }
  ],
  "hasMore": true,
  "limit": 1,
  "count": 1,
  "links": [
    {
      "href": "http://<hostname>/MerchIntegrations/services/foundation/
omnichannel/item/relateditem?
before=2021-05-06T18%3A17%3A30.285106%2B08%3A00&limit=1&since=1970-01-01T00%3A
00%3A00.001Z",
      "rel": "self"
    },
    {
      "href": "http://localhost:8080/MerchIntegrations/services/foundation/
omnichannel/item/relateditem?
before=2021-05-06T18%3A17%3A30.285106%2B08%3A00&limit=1&offsetkey=120001%2C111
051290&since=1970-01-01T00%3A00%3A00.001Z",
      "rel": "next"
    }
  ]
}"

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_RELATED_ITEMYesYesYesYes
MERCHAPI_RELATED_ITEMYesYesYesYes
V_MERCHAPI_RELATED_ITEM_JSONYesNoNoNo
V_MERCHAPI_RELATED_ITEMYesYesYesYes

REST Endpoint for Omnichannel/Retail Store details

Endpoint

MerchIntegrations/services/foundation/omnichannel/location/retailstore

Functional Area

Organizational Hierarchy - Stores

Business Overview

This service publishes retail store details to the Omnichannel application and can also be consumed by downstream consuming systems. It publishes each store together with its company-through-district hierarchy placement and the primary address maintained for the store or workforce-store address modules in Merchandising.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: STORE, ADDR

Additional business tables: STORE_HIERARCHY, ADD_TYPE_MODULE

JSON cache table: MERCHAPI_RETAIL_STORE

JSON generation view: V_MERCHAPI_RETAIL_STORE_JSON

The JSON view joins STORE, STORE_HIERARCHY, ADDR, and ADD_TYPE_MODULE, so each published row carries the store’s company-through-district placement together with the primary address maintained for store modules ST and WFST.

The store cache shares its loader with the omnichannel organization hierarchy and warehouse caches through the shared API_OMNI_ORG_HIER_STR_WH process.

Address publication is limited to the primary address rows for store modules ST and WFST.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_RETAIL_STORE_JSON and publish store hierarchy placement together with the primary address rows for modules ST and WFST.

Rebuild deletes or marks rows when the store no longer exists in the source view.

ICL (Integration Change Log) table: ICL_RMS_STORE, ICL_RMS_ADDR (ICL consumer name = MERCHAPI)

Store changes come from ICL_RMS_STORE, and address-only changes come from ICL_RMS_ADDR for ST and WFST addresses when no store ICL row exists.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_OMNI_ORG_HIER_STR_WH

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_OMNI_ORG_HIER_STR_WH_ADHOC_PROCESS MERCHAPI_OMNI_ORG_HIER_STR_WH_ADHOC_JOB

Webhook configuration api name: foundation/omnichannel/location/retailstore

Special handling

Additional GET query parameters: nodelevel, nodeid.

Supported nodelevel values for this service are COMPANY, CHAIN, AREA, REGION, DISTRICT, STORE.

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/omnichannel/location/retailstore

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
nodelevelNoStringNode Level
nodeidNoString (10)Node Id
limitNoString (6)Pagination limit.
Default value is 1000.
offsetkeyNoStringOffset key
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-38 PageResultsItemsVMerchapiRetailStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request

Table 5-38 (Cont.) PageResultsItemsVMerchapiRetailStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-39 VMerchapiRetailStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for the store.
storeidNoNumber(10,0)This column contains
the number which
uniquely identifes the
store.
storenameNoString (150)This column contains
the name of the store
which, along with the
store number,
identifes the store.
storename10NoString (10)This column contains a
ten-character
abbreviation of the
store name.
managerNoString (120)This column contains
the name of the store
manager.
phonenumberNoString (20)This column contains
the phone number for
the store.
faxnumberNoString (20)This column contains
the fax number for the
store.
emailNoString (100)This column contains
the email address for
the location.
totalsqfeetNoNumber(8,0)This column contains
the total square
footage of the store.
sellingsqfeetNoNumber(8,0)This column contains
the total square
footage of the store’s
selling area.

Table 5-39 (Cont.) VMerchapiRetailStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
currencycodeNoString (3)This column contains
the currency code
under which the store
operates.
vatregionNoNumber(4,0)This column contains
the number of the
Value Added Tax
region in which this
store is contained.
stockholdingNoString (1)This column indicates
whether the store can
hold stock. In a non-
multichannel
environment this will
always be Y.
integratedposNoString (1)This column indicates
whether or not the
POS system at the
store is integrated.
contactnameNoString (120)This column contains
the name of the
contact for the store at
this address.
address1NoString (240)This column contains
the frst line of the
store address.
address2NoString (240)This column contains
the second line of the
store address.
address3NoString (240)This column contains
the third line of the
store address.
cityNoString (120)This column contains
the name of the city
that is associated with
the store address.
stateNoString (3)This column contains
the state abbreviation
for the store address.
countryNoString (3)This column contains
the country where the
store address exists.
postalcodeNoString (30)This column contains
the zip code for the
store address.

Table 5-40 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"storeid": 1521,
"storename": "Albuquerque",
"storename10": "Albuquerqu",
"manager": "Paul Petros",
"phonenumber": "505-388-5577",
"faxnumber": "458121212",
"email": "someone@oracle.com",
"totalsqfeet": 4500,
"sellingsqfeet": 4000,
"currencycode": "USD",
"vatregion": 1000,
"stockholding": "Y",
"integratedpos": "Y",
"contactname": "Sue Glass",
"address1": "123 Street",
"address2": "Anaheim",
"address3": "California",
"city": "Anaheim",
"state": "MN",
"country": "US",
"postalcode": "50250"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.

Example JSON input:

" {
    "items": [
        {
            "action": "INSERT",
            "storeid": 1111,
            "storename": "Rebuild with refresh N NO ICL Charlotte *",
            "storename10": "Charlotte",
            "manager": "Don Wright",
            "phonenumber": "704-555-2121",
            "faxnumber": null,
            "email": null,
            "totalsqfeet": 64400,
            "sellingsqfeet": 59500,
            "currencycode": "USD",
            "vatregion": 1000,
            "stockholding": "Y",
            "integratedpos": "Y",
            "contactname": "Sue Glass",
            "address1": "123 Street",
            "address2": "Anytown",
            "address3": null,
            "city": "Anycity",
            "state": "MN",
            "country": "US",
            "postalcode": "50250"
        }
    ],
    "hasMore": true,
    "limit": 1,
    "count": 1,
    "links": [
        {
            "href": "http://<hostname>:<portnumber>/MerchIntegrations/
services/foundation/omnichannel/location/retailstore?
before=2021-05-12T17%3A30%3A45.385517%2B05%3A30&nodelevel=COMPANY&limit=1&node
id=1&since=1970-01-01T00%3A00%3A00.001Z",
            "rel": "self"
        },
        {
            "href": "http://<hostname>:<portnumber>/MerchIntegrations/
services/foundation/omnichannel/location/retailstore?
before=2021-05-12T17%3A30%3A45.385517%2B05%3A30&nodelevel=COMPANY&limit=1&node
id=1&offsetkey=1111&since=1970-01-01T00%3A00%3A00.001Z",
            "rel": "next"
        }
    ]
}"

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_STOREYesYesYesYes
ICL_RMS_ADDRYesNoYesYes
ADDRYesNoNoNo
STOREYesNoNoNo
MERCHAPI_RETAIL_STOREYesYesYesYes
MERCHAPI_ORG_HIERNoNoYesNo
V_MERCHAPI_RETAIL_STORE_JSONYesNoNoNo
SYSTEM_OPTIONSYesNoNoNo

REST Endpoint for Omnichannel/Dimension Type details

Endpoint

MerchIntegrations/services/foundation/omnichannel/item/dimensiontype

Functional Area

Items - Item Definition

Business Overview

This service publishes dimension-type rows to the Omnichannel application and can also be consumed by downstream consuming systems. Functionally, the published dimensionSystem is resolved as the item itself, the item parent, or the item grandparent depending on item level, and the service publishes dimension-type rows for differentiator group-level data or for ID-level data when the item resolves to a style dimension system.

This service retrieves the item differentiator types 1, 2 and 3 (referred to as dimension types in XStore). For example, it might return that an item is differentiated by ‘color’ (diff 1 type), ‘waist size’ (diff 2 type) and ‘inseam’ (diff 3 type). While items can be defined with up to four differentiators, this service only returns up to 3 because the Omnichannel cloud services only support up to 3 dimensions. In order to fetch new updates pass the parameter of since/before timestamp.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

The data processing for this service is controlled by the main ‘foundation/omnichannel/item’ service. Refer to API documentation for additional batch configuration details.

Core business tables: ITEM_MASTER, DIFF_GROUP_HEAD, DIFF_GROUP_DETAIL, DIFF_IDS

Additional business tables: none

JSON cache table: MERCHAPI_ITEM_DIFF_TYPE

JSON generation view: not applicable; cache rows are derived from the shared V_MERCHAPI_ITEM_JSON item source

The shared item source already resolves item level, transaction level, item parent, item grandparent, differentiator level, differentiator type, and differentiator description for DIFF_1 through DIFF_3.

The dimension-type cache unpivots those DIFF_1 through DIFF_3 columns, resolves dimensionSystem as item, item parent, or item grandparent based on item level, and publishes GROUP differentiator rows plus ID differentiator rows only when the derived item type resolves to STYLE.

Qualifying diff-group and diff-ID update flows can also republish affected dimension-type rows after resolving the impacted items from the shared item source.

Webhook configuration api name: foundation/omnichannel/item/dimensiontype

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/omnichannel/item/dimensiontype

Input Parameters

Output

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
limitNoString (6)Pagination limit.
Default value is 10000.
offsetkeyNoStringOffset key
optimalBeforeNoStringEnables histogram-
based calculation of
the before timestamp
when before is not
provided. Valid values
are Y or N. Default
value is N.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
exclude
able 5-41 PageR
etail
No
esultsItemsVMerch
String
apiDimType - Object. See li
Fields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)
st of elements for
Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch

Table 5-41 PageResultsItemsVMerchapiDimType - Object. See list of elements for detail

Table 5-41 (Cont.) PageResultsItemsVMerchapiDimType - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-42 VMerchapiDimType - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for the
Dimension Type
group.
itemactionNoString (6)Action for the Item
changes related to
Dimension Type
Group.
dimensionsystemNoString (25)This column contains
the dimension system.
This contains the item,
item parent or the
item grandparent
depending on the item
level.
dimensionNoString (6)This column contains
the dimension. This is
the differentiator type
of the item.
descriptionNoString (120)This feld contains the
description of the
dimension.
seqNoNumber(1,0)This column contains
the sequence number
of the dimension. Valid
values are 1 for Diff 1,
2 for Diff 2 and 3 for
Diff 3.

Table 5-43 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL

Table 5-43 (Cont.) LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "itemaction": null, "dimensionsystem": "1000000010", "dimension": "MT", "description": "Mens TShirt Small", "seq": 1 } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Elements in JSON Output

ElementsDescription
ItemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
ElementsDescription
LimitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
Links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON input:
" {
  "items": [
    {
      "action": "INSERT",
      "itemaction": null,
      "dimensionsystem": "1000023212",
      "dimension": "C_3815",
      "description": "Smoke Diff Group Clr",
      "seq": 1
    }
  ],
  "hasMore": true,
  "limit": 1,
  "count": 1,
  "links": [
    {
      "href": "http://<hostname>/MerchIntegrations/services/foundation/omnichannel/item/
dimensiontype?
before=2021-05-11T17%3A41%3A38.052402%2B00%3A00&limit=1&since=1970-01-01T00%3A00%3A00.001
Z",
      "rel": "self"
    },
    {
      "href": "http://<hostname>/MerchIntegrations/services/foundation/omnichannel/item/
dimensiontype?
before=2021-05-11T17%3A41%3A38.052402%2B00%3A00&limit=1&offsetkey=0430.PD.1%2C1%2CC_3815&
since=1970-01-01T00%3A00%3A00.001Z",
      "rel": "next"
    }
  ]
}"

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
MERCHAPI_ITEM_DIFF_TYPEYesYesYesYes
V_MERCHAPI_ITEM_JSONYesNoNoNo
V_MERCHAPI_DIM_TYPEYesNoNoNo

REST Endpoint for Omnichannel/Dimension Value details

Endpoint

MerchIntegrations/services/foundation/omnichannel/item/dimensionvalue

Functional Area

Items - Item Definition

Business Overview

This service publishes dimension-value rows to the Omnichannel application and can also be consumed by downstream consuming systems. Functionally, the published dimensionSystem is resolved as the item itself, the item parent, or the item grandparent depending on item level, and the cache publishes differentiator values only for rows where DIFF_LEVEL = ‘ID’. The display sequence is derived from the matching differentiator-group detail.

This service retrieves item differentiators (referred to as ‘dimensions’ in XStore). Only differentiators that are associated with approved items are returned.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

The data processing for this service is controlled by the main ‘foundation/omnichannel/item’ service. Refer to API documentation for additional batch configuration details.

Core business tables: ITEM_MASTER, DIFF_IDS

Additional business tables: DIFF_GROUP_DETAIL

JSON cache table: MERCHAPI_ITEM_DIFF_VALUE

JSON generation view: not applicable; cache rows are derived from the shared V_MERCHAPI_ITEM_JSON item source

The shared item source already resolves item level, transaction level, item parent, item grandparent, differentiator level, differentiator type, and differentiator description for DIFF_1 through DIFF_3.

The dimension-value cache unpivots those DIFF_1 through DIFF_3 columns, resolves dimensionSystem as item, item parent, or item grandparent based on item level, keeps only ID differentiator rows, and derives displayseq from DIFF_GROUP_DETAIL for the matching differentiator group and differentiator value combination.

Qualifying diff-ID update flows can also republish affected dimension-value rows after resolving the impacted items from the shared item source.

Webhook configuration api name: foundation/omnichannel/item/dimensionvalue

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/omnichannel/item/dimensionvalue

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
limitNoString (6)Pagination limit.
Default value is 10000.
offsetkeyNoStringOffset key
optimalBeforeNoStringEnables histogram-
based calculation of
the before timestamp
when before is not
provided. Valid values
are Y or N. Default
value is N.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-44 PageResultsItemsVMerchapiDimValue - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records

Table 5-44 (Cont.) PageResultsItemsVMerchapiDimValue - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-45 VMerchapiDimValue - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for the
Dimension Value
group.
itemactionNoString (9)Action for the item
changes related to the
Dimension Value
group.
dimensionsystemNoString (25)This column contains
the dimension system.
This contains the item,
item parent or the
item grandparent
depending on the item
level.
dimensionNoString (6)This column contains
the dimension. This is
the differentiator type
of the item.
valueNoString (10)This column contains
the value of the
dimension.
descriptionNoString (120)This feld contains the
description of the
dimension.
displayseqNoNumber(4,0)This column contains
the display sequence
number of the
dimension.

Table 5-46 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"itemaction": null,
"dimensionsystem": "1000000010",
"dimension": "MT",
"value": "MT-Small",
"description": "Mens TShirt Small",
"displayseq": 1
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}

Elements in JSON Output

ElementsDescription
ItemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
ElementsDescription
LimitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
Links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON input:
" {
  "items": [
    {
      "action": "INSERT",
      "itemaction": "NO_CHANGE",
      "dimensionsystem": "1000012345",
      "dimension": "C_3815",
      "value": "BLACK_8742",
      "description": "Auto Black BLACK_8742",
      "displayseq": 1
    }
  ],
  "hasMore": true,
  "limit": 1,
  "count": 1,
  "links": [
    {
      "href": "http://<hostname>/MerchIntegrations/services/foundation/omnichannel/item/
dimensionvalue?
before=2021-05-11T17%3A51%3A17.671921%2B00%3A00&limit=1&since=1970-01-01T00%3A00%3A00.001
Z",
      "rel": "self"
    },
    {
      "href": "http://<hostname>/MerchIntegrations/services/foundation/omnichannel/item/
dimensionvalue?
before=2021-05-11T17%3A51%3A17.671921%2B00%3A00&limit=1&offsetkey=0430.PD.1%2CC_3815%2CBL
ACK_8742&since=1970-01-01T00%3A00%3A00.001Z",
      "rel": "next"
    }
  ]
}"

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
MERCH_BATCH_PARAMYesNoNoNo
MERCHAPI_ITEM_DIFF_VALUEYesYesYesYes
V_MERCHAPI_ITEM_JSONYesNoNoNo
V_MERCHAPI_DIM_VALUEYesNoNoNo

REST Endpoint for Omnichannel/future Inventory

Endpoint

MerchIntegrations/services/inventory/omnichannel/inventory/futureinventory

Functional Area

Inventory

Business Overview

This service publishes future inventory to the Omnichannel application and can also be consumed by downstream consuming systems. It includes only the future inventory that is relevant to customer-order fulfillment for active, transaction-level, orderable items that are backorder-enabled at stockholding customer-order locations, together with the backorder, open-order, and received quantities that still contribute to fulfillment. The calculation excludes non-customer-order allocation branches from open order quantity and applies the source pack rules so warehouse sellable packs publish at pack level while store sellable packs and nonsellable packs publish through component items.

This service retrieves future inventory information aggregated at an item level. The service returns on-order, received, and back-ordered quantity against an item.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: STORE, WH, ITEM_LOC_SOH, ITEM_MASTER, ITEM_LOC_TRAITS, ALLOC_HEADER

Additional business tables: ALLOC_DETAIL, ORDHEAD, ORDLOC, PERIOD, V_PACKSKU_QTY

JSON cache table: MERCHAPI_FUTURE_AVAIL_CO_INV

JSON generation view: V_BDI_CO_FUTURE_AVAIL

The source view pulls future availability from STORE, WH, ITEM_LOC_SOH, ITEM_MASTER, ITEM_LOC_TRAITS, ALLOC_HEADER, ALLOC_DETAIL, ORDHEAD, ORDLOC, PERIOD, and V_PACKSKU_QTY.

Functionally, it publishes only the future inventory that is relevant to customer-order fulfillment: active transaction-level orderable items that are backorder-enabled at stockholding customer-

order locations, together with the backorder, open-order, and received quantities that still contribute to fulfillment.

The calculation excludes non-customer-order allocation branches from open order quantity and applies pack rules so sellable warehouse packs publish at pack level while store sellable packs and non-sellable packs publish through their component items.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild pull published rows from V_BDI_CO_FUTURE_AVAIL. No additional filter criteria were identified beyond the cache-build logic.

Mark rows deleted when the item is no longer backorderable in ITEM_LOC_TRAITS.

ICL (Integration Change Log) table: none; delta processing compares V_BDI_CO_FUTURE_AVAIL directly to MERCHAPI_FUTURE_AVAIL_CO_INV

No ICL table is used; both delta and refresh compare V_BDI_CO_FUTURE_AVAIL directly to MERCHAPI_FUTURE_AVAIL_CO_INV.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

This service does bulk heavy data processing for the entire dataset and hence this job should be run once or twice per day. This should not be configured to run hourly or multiple times in an hour.

Process configuration name: API_OMNI_FUTURE_AVL_CO_INV

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_OMNI_FUT_AVL_CO_INV_ADHOC_PROCESS MERCHAPI_OMNI_FUTURE_AVL_CO_INV_ADHOC_JOB

Webhook configuration api name: inventory/omnichannel/inventory/futureinventory

Service Type

GET

ReST URL

MerchIntegrations/services/inventory/omnichannel/inventory/futureinventory

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
limitNoString (6)Pagination limit.
Default value is 1000.
Parameter NameRequiredData TypeDescription
offsetkeyNoStringOffset key
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-47 PageResultsItemsVMerchapiFutureAvailCoInv - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-48 VMerchapiFutureAvailCoInv - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for Item Future
Available Inventory.
itemNoString (25)This column contains
the item.
onorderquantityNoNumber(12,4)This column contains
the on order quantity
of the item.

Table 5-48 (Cont.) VMerchapiFutureAvailCoInv - Object. See list of elements for detail

Element NameRequiredData TypeDescription
receivedquantityNoNumber(12,4)This column contains
the received quantity
of the item.
backorderquantityNoNumber(12,4)This column contains
the backorder quantity
of the item.

Table 5-49 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"item": "100001000",
"onorderquantity": 10,
"receivedquantity": 10,
"backorderquantity": 10
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON input:
" {
  "items": [
    {
      "action": "UPDATE",
      "item": "105700020",
      "onorderquantity": "0",
      "receivedquantity": "0",
      "backorderquantity": "30"
    }
  ],
  "hasMore": true,
  "limit": 1,
  "count": 1,
  "links": [
    {
      "href": "http://<hostname>/MerchIntegrations/services/inventory/
omnichannel/inventory/futureinventory?
before=2021-05-06T20%3A56%3A51.316158%2B08%3A00&limit=1&since=1970-01-01T00%3A
00%3A00.001Z",
      "rel": "self"
    },
    {
      "href": "http:// <hostname>/MerchIntegrations/services/inventory/
omnichannel/inventory/futureinventory?
before=2021-05-06T20%3A56%3A51.316158%2B08%3A00&limit=1&offsetkey=105700020&si
nce=1970-01-01T00%3A00%3A00.001Z",
      "rel": "next"
    }
  ]
}"

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
MERCHAPI_BOOKMARKYesYesYesYes
V_BDI_CO_FUTURE_AVAILYesNoNoNo
MERCHAPI_FUTURE_AVAIL_CO_INVYesYesYesYes
V_MERCHAPI_FUTURE_AVAIL_CO_INVYesNoNoNo

REST Endpoint for Omnichannel/item Image

Endpoint

MerchIntegrations/services/foundation/omnichannel/item/image

Functional Area

Items - Item Definition

Business Overview

This service publishes item images to the Omnichannel application and can also be consumed by downstream consuming systems. The source view publishes images only for currently approved items, and when callers supply nodelevel and nodeid the service returns images only for items that also have a matching MERCHAPI_ITEM_LOC row at the requested store or warehouse.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: ITEM_IMAGE

Additional business tables: ITEM_MASTER

JSON cache table: MERCHAPI_ITEM_IMAGE

JSON generation view: V_MERCHAPI_ITEM_IMAGE_JSON

The JSON view is built from ITEM_IMAGE and ITEM_MASTER, and it explicitly filters to ITEM_MASTER.STATUS = ‘A’, so only images for currently approved items are published from the source view.

When callers supply nodelevel and nodeid, the REST query further requires a matching MERCHAPI_ITEM_LOC row for the item at the requested store or warehouse, which scopes the published images to items active at that node.

When nodelevel and nodeid are supplied, the service requires a matching MERCHAPI_ITEM_LOC row for the item at the requested node.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_ITEM_IMAGE_JSON and apply ITEM_MASTER.STATUS = ‘A’.

ICL (Integration Change Log) table: ICL_RMS_ITEM_IMAGE (ICL consumer name = MERCHAPI)

ICL entries are created using item-image changes, while ITEM_MASTER.STATUS = ‘A’ is enforced through the source view when rows are rebuilt or merged.

Item Approval Handling

On item approval, the main item publish flow writes existing ITEM_IMAGE rows for the item to ICL_RMS_ITEM_IMAGE so image data is also queued when the item becomes approved.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_OMNI_ITEM_IMAGE

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_OMNI_ITEM_IMAGE_ADHOC_PROCESS MERCHAPI_OMNI_ITEM_IMAGE_ADHOC_JOB

Webhook configuration api name: foundation/omnichannel/item/image

Special handling

Additional GET query parameters: nodelevel, nodeid.

Performance Considerations

For customers expecting high to very high publish volume from this API, sizing and operational tuning should be addressed early in the implementation lifecycle. Initial cache seeding, ongoing delta processing, full extracts, and incremental downloads or webhook-driven delivery have different runtime characteristics and should be evaluated separately.

Multi-threading and commit control

This service batch processing for delta and initial seeding is single threaded.

The delivered setting for API_COMMIT_MAX_COUNTER is currently 1000 and it can be extend to 10,000.

REST fetch considerations

REST page size should be selected based on average payload size so the average response remains below about 10 MB per call. Common page-limit values are 1,000 or 10,000 rows.

For full downloads, do not provide the since query parameter so the database can favor the primary-key access path. For delta downloads, use a small time window, typically a few minutes and at most a few hours, so the eligible row set on the LAST_UPDATE_DATETIME index remains small.

Wider delta windows, especially multi-day windows that can arise during outages or data recovery, generally do not perform well. For such scenarios, keeping BUILD_HISTOGRAM enabled allows the service to support recovery through smaller, more selective polling windows using the optimalBefore query parameter.

In this catch-up pattern, for requests up to 30 days in the past, the client provides optimalBefore and leaves before empty. The client then uses the returned before timestamp to continue polling incrementally until the backlog is cleared, and then resumes the normal shortwindow delta pattern. Hourly histogram processing groups LAST_UPDATE_DATETIME values into buckets of 10,000 rows in MERCHAPI_TIMESTAMP_HISTOGRAM using the shared HISTOGRAM_ROW_COUNT configuration.

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/omnichannel/item/image

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
nodelevelNoStringNode Level
nodeidNoString (10)Node Id
limitNoString (6)Pagination limit.
Default value is 1000.
offsetkeyNoStringOffset key
optimalBeforeNoStringEnables histogram-
based calculation of
the before timestamp
when before is not
provided. Valid values
are Y or N. Default
value is N.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
Parameter NameRequiredData TypeDescription
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-50 PageResultsItemsVMerchapiItemImage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-51 VMerchapiItemImage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for the Item
Image.
itemNoString (25)This column contains
the unique
alphanumeric
identifer for the item.
imagenameNoString (120)This column contains
the name of the image
of the item.
imageaddrNoString (255)This feld contains the
actual path where the
fle of the image of the
item is stored.

Table 5-51 (Cont.) VMerchapiItemImage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
imageuriNoString (375)This column contains
the URI of the image of
the item.
imagedescNoString (40)This feld contains the
description associated
with the image of the
item.
imagetypeNoString (6)This feld contains the
type of the image of
the item. Valid values
are defned as
members of IITD code
type.
primaryindNoString (1)This feld indicates
whether this record is
the primary image of
the item or not. Valid
values are Y and N. It
defaults to N if left
blank or set to null.
displaypriority
able 5-52 LinkIt
No
ems - Object. See lis
Number(4,0)
t of elements for detail
This feld specifes the
display sequence
order of images
associated with the
item by priority.
Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.

Table 5-52 LinkItems - Object. See list of elements for detail

Sample Response Message
{
"items": [
{
"action": "INSERT",
"item": "1000000010",
"imagename": "imageName1",
"imageaddr": "http://www.oracle.com/",
"imageuri": "http://www.oracle.com/imageName1",
"imagedesc": "imageDesc1",
"imagetype": "T",
"primaryind": "Y",
"displaypriority": 1
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON input:
" {
  "items": [
    {
      "action": "INSERT",
      "item": "100200042",
      "imagename": "image1",
      "imageaddr": "http://www.oracle.com/",
      "imageuri": "http://www.oracle.com/image1",
      "imagedesc": "image1Desc",
      "imagetype": "T",
      "primaryind": "Y",
      "displaypriority": 1
    }
  ],

Merchandising to Omnichannel Services

  "hasMore": true,
  "limit": 1,
  "count": 1,
  "links": [
    {
      "href": "http://<hostname>/MerchIntegrations/services/foundation/omnichannel/item/
image?
before=2021-05-06T17%3A32%3A13.265046%2B08%3A00&limit=1&since=1970-01-01T00%3A00%3A00.001
Z",
      "rel": "self"
    },
    {
      "href": "http:// <hostname>/MerchIntegrations/services/foundation/omnichannel/item/
image?
before=2021-05-06T17%3A32%3A13.265046%2B08%3A00&limit=1&offsetkey=100200042%2Cimage1&sinc
e=1970-01-01T00%3A00%3A00.001Z",
      "rel": "next"
    }
  ]
}"

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
MERCHAPI_BOOKMARK
ICL_RMS_ITEM_IMAGE
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
ITEM_MASTERYesNoNoNo
ITEM_IMAGEYesNoNoNo
MERCHAPI_ITEM_IMAGEYesYesYesYes
V_MERCHAPI_ITEM_IMAGE_JSONYesNoNoNo
V_MERCHAPI_ITEM_IMAGEYesNoNoNo

REST Endpoint for Omnichannel/Item Initial Price details

Endpoint

MerchIntegrations/services/foundation/omnichannel/item/initialprice

Functional Area

Items - Item Definition

Business Overview

This service should not be used for external consumption. This service is very specific for XStore consumption and the roadmap plan is to deprecated this service in future once XStore dependency is removed. The information provided by this service is same as ‘foundation/ omnichannel/item/itemlocation’. The term ‘initial price’ for this service is misleading for external consumption because this service provides the current price for the item/location combination.

If Xstore is part of the implementation, refer to the technical details for API documentation for ‘foundation/omnichannel/item/itemlocation’ because the underlying components are the same.

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/omnichannel/item/initialprice

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
nodelevelNoStringNode Level
nodeidNoString (10)Node Id
offsetkeyNoStringOffset key
limitNoString (6)Pagination limit.
Default value is 10000.
optimalBeforeNoStringEnables histogram-
based calculation of
the before timestamp
when before is not
provided. Valid values
are Y or N. Default
value is N.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-53 PageResultsItemsVMerchApiInitialItemPrice - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-54 VMerchApiInitialItemPrice - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for Item details.
loctypeNoString (1)This feld specifes the
type of location in the
location feld. Valid
values are S (store)
and W (warehouse).
locationNoNumber(10,0)This feld contains the
numeric identifer of
the location in which
the item is to be found.
This feld may contain
a store or warehouse.
itemNoString (25)This feld specifes the
unique alphanumeric
value that identifes
the item.
pricetypeNoString (7)This feld specifes the
price type. Valid value
is INITIAL.

Table 5-54 (Cont.) VMerchApiInitialItemPrice - Object. See list of elements for detail

Element NameRequiredData TypeDescription
priceNoNumber(20,4)This feld specifes the
initial unit retail price
in the standard unit of
measure for the item/
location combination.
This feld is stored in
the local currency.
effectiveNodateThis feld specifes the
date on which the unit
retail price became or
will become active.
This feld is always
null in the current
implementation.
sourceNoString (6)This feld contains the
source of the initial
unit retail price of
each item. This feld is
always direct in the
current
implementation.
eventidNoStringThis feld specifes the
event ID. This feld is
always null in the
current
implementation.
resetindNoStringThis feld specifes the
reset indicator. This
feld is always null in
the current
implementation.
clearanceindNoNumber(1,0)This feld specifes if
the item is on
clearance at the store.
A value of 1 indicates
clearance.

Table 5-55 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"loctype": "S",
"location": 1521,
"item": "100012012",
"pricetype": "INITIAL",
"price": 19.5,
"effective": "2001-12-31",
"source": "direct",
"eventid": null,
"resetind": null,
"clearanceind": 1
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.

Example JSON input:

" {
  "items": [
    {
      "action": "INSERT",
      "loctype": "S",
      "location": 121,
      "item": "100000104",
      "pricetype": "INITIAL",
      "price": 12.1,
      "effective": null,
      "source": "direct",
      "eventid": null,
      "resetind": null,
      "clearanceind": 0
    }
  ],
  "hasMore": true,
  "limit": 1,
  "count": 1,
  "links": [
    {
      "href": "http://<hostname>/MerchIntegrations/services/foundation/omnichannel/item/
initialprice?
before=2021-05-11T17%3A23%3A22.208547%2B00%3A00&nodelevel=COMPANY&limit=1&nodeid=9118&sin
ce=1970-01-01T00%3A00%3A00.001Z",
      "rel": "self"
    },
    {
      "href": "http://<hostname>/MerchIntegrations/services/foundation/omnichannel/item/
initialprice?
before=2021-05-11T17%3A23%3A22.208547%2B00%3A00&nodelevel=COMPANY&limit=1&nodeid=9118&off
setkey=S%2C121%2C100000104&since=1970-01-01T00%3A00%3A00.001Z",
      "rel": "next"
    }
  ]
}"

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_ITEM_LOCYesYesYesYes
ITEM_MASTERYesNoNoNo
ITEM_LOCYesNoNoNo
MERCHAPI_ITEM_LOCYesYesYesYes
V_MERCHAPI_ITEM_LOC_JSONYesNoNoNo
V_MERCHAPI_INITIAL_ITEM_PRICEYesNoNoNo

REST Endpoint for Omnichannel/Item Location details

Endpoint

MerchIntegrations/services/foundation/omnichannel/item/itemlocation

Functional Area

Items - Item Definition

Business Overview

This service publishes the item/location payload to the Omnichannel application and can also be consumed by downstream consuming systems. It serves the store and warehouse projection of the shared item/location cache with ‘foundation/item/location’ service and returns the location-specific selling, sourcing, VAT-code, and tax-group details used by omnichannel selling flows. Although the shared cache also supports broader location coverage for other services, this omnichannel projection does not return external-finisher rows.

The shared source view behind the cache is limited to items whose current ITEM_MASTER.STATUS is A or D. This service then applies its own store or warehouse query scope and enriches matching rows with tax-group data when corresponding GTS cache data exists in the requested window.

Refer to the api documentation for ‘foundation/item/location’ for technical and performance consideration for this service as these two share the same underlying component.

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/omnichannel/item/itemlocation

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
nodelevelNoStringNode Level
nodeidNoString (10)Node Id
offsetkeyNoStringOffset key
limitNoString (6)Pagination limit.
Default value is 10000.
Parameter NameRequiredData TypeDescription
changeTypeNoStringFilter records that
were created or
deleted within since/
before time range.
Valid values create or
delete
optimalBeforeNoStringEnables histogram-
based calculation of
the before timestamp
when before is not
provided. Valid values
are Y or N. Default
value is N.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-56 PageResultsItemsVMerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-57 VMerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for item details.
loctypeNoString (1)This feld specifes the
type of location in the
location feld. Valid
values are S (store)
and W (warehouse).
locationNoNumber(10,0)This feld contains the
numeric identifer of
the location in which
the item is to be found.
This feld may contain
a store or warehouse.
itemNoString (25)This feld specifes the
unique alphanumeric
value that identifes
the item.
sellingunitretailNoNumber(20,4)This feld specifes the
unit retail price in the
selling unit of measure
for the item/location
combination. This feld
is stored in the local
currency.
sellinguomNoString (4)This feld specifes the
selling unit of measure
for an item’s single-
unit retail.
sellingUomDecimalPre
cision
NoNumber(1,0)This feld defnes the
number of decimal
places to be
considered for the
specifc selling UOM in
XOCS.
taxableindNoString (1)This feld indicates if
the item is taxable at
the store.
localitemdescNoString (250)This feld specifes the
local description of the
item. This feld will
default to the item’s
description but will be
overridable. This value
will be downloaded to
the POS.
statusNoString (1)This feld specifes the
current status of the
item at the store.

Table 5-57 (Cont.) VMerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
qtykeyoptionsNoString (6)This feld specifes
whether the qty key on
a POS should be used
for this item at the
location. Valid values
are in the code_type
RPO. Current values
include R - required, P
- prohibited, and O -
optional. Additional
values can be added to
the code type as
needed. This value will
be downloaded to the
POS as needed.
manualpriceentryNoString (6)This feld specifes
whether the price can
or should be entered
manually on a POS for
this item at the
location.
foodstampindNoString (1)This feld specifes
whether the item is
approved for food
stamps at the location.
This value will be
downloaded to the
POS.
fxedtarevalueNoNumber(12,4)This feld holds the
value associated with
the packaging in items
sold by weight at the
location. Fixed tare is
the tare of the
packaging used. The
only processing RMS
does involving the
fxed tare value is
downloading it to the
POS. Fixed tare is not
subtracted from items
sold by weight when
sales are uploaded to
RMS. This kind of
processing is the
responsibility of the
client and should
occur before sales are
sent to any Oracle
Retail application.

Table 5-57 (Cont.) VMerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fxedtareuomNoString (4)This feld holds the
unit of measure value
associated with the
tare value. The only
processing RMS does
involving the fxed
tare value and UOM is
downloading it to the
POS. Fixed tare is not
subtracted from items
sold by weight when
sales are uploaded to
RMS. This kind of
processing is the
responsibility of the
client and should
occur before sales are
sent to any Oracle
Retail application.
stopsaleindNoString (1)This feld specifes
whether sale of the
item should be
stopped immediately
at the location (for
example, in case of
recall). This value will
be downloaded to the
POS.
returnableindNoString (1)This feld contains a
value of Yes when the
item can be returned
to the location.
backorderindNoString (1)This feld contains a
value of Yes when the
item can be back
ordered to the
location.
merchandiseindNoString (1)This feld indicates if
the item is a
merchandise item.
clearanceindNoString (1)This feld indicates if
the item is on
clearance at the store.
crosssellNoString (1)This feld indicates if a
substitute item exists
for the main item.
attacheditemNoString (1)This feld indicates if
cross-sell or up-sell
items are attached to
the main item.

Table 5-57 (Cont.) VMerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
vatcodesNoString (4000)This feld specifes VAT
code information for
the item.
localshortdescriptionNoString (120)This feld contains the
local short description
of the item. This feld
will default to the
item’s short
description but will be
overridable. This value
will be downloaded to
the POS.
sourcemethodNoString (1)This value will be used
to specify how the ad-
hoc PO or TSF creation
process should source
the item/location
request. If the value is
Warehouse, the
process will attempt to
fll the request by
creating a transfer
from the warehouse
mentioned in the
source_wh feld. If this
warehouse does not
have enough
inventory to fll the
request, a purchase
order will be created
for the item/location’s
primary supplier. For
warehouses, it is used
by Oracle Retail
Allocation to
determine the valid
sources and
destinations for
warehouse-to-
warehouse allocations.
sourcewarehouseNoNumber(10,0)This value will be used
by the ad-hoc PO or
transfer creation
process to determine
which warehouse to
fll the store’s request
from. It will also be
used by the Allocation
process to support
warehouse-to-
warehouse allocations.
A value will be
required in this feld if
the sourcing method is
Warehouse.

Table 5-57 (Cont.) VMerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
taxGroupIdNoString (60)Tax group ID.

Table 5-58 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"loctype": "S",
"location": 1521,
"item": "100100076",
"sellingunitretail": 19.5,
"sellinguom": "EA",
"sellingUomDecimalPrecision": 1,
"taxableind": "Y",
"localitemdesc": "localItemDesc",
"status": null,
"qtykeyoptions": null,
"manualpriceentry": null,
"foodstampind": null,
"fixedtarevalue": 1.0,
"fixedtareuom": null,
"stopsaleind": null,
"returnableind": null,
"backorderind": null,
"merchandiseind": "Y",
"clearanceind": null,
"crosssell": null,
"attacheditem": null,
"vatcodes": null,
"localshortdescription": "localShortDesc",
"sourcemethod": null,
"sourcewarehouse": 1,
"taxGroupId": null
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}

vatcodes JSON Output

NameData TypeDescription
codeStringThis feld contains vat code which is used to

uniquely identify a VAT rate.
dateDateThis fled contains date on which VAT rate
become active. Format: YYYY-MM-DD

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON input:
" {
    "items": [
        {
            "action": "INSERT",
            "loctype": "S",
            "location": 1111,
            "item": "100750001",
            "sellingunitretail": "132.13",
            "sellinguom": "EA",
            "taxableind": "Y",
            "localitemdesc": "100750001",
            "status": "A",
            "qtykeyoptions": null,
            "manualpriceentry": null,
            "foodstampind": null,
            "fixedtarevalue": null,
            "fixedtareuom": null,
            "stopsaleind": null,
            "returnableind": null,
            "backorderind": null,
            "merchandiseind": "Y",
            "clearanceind": "N",
            "crosssell": "N",
            "attacheditem": "N",
            "vatcodes": "[{\"code\":\"S\",\"date\":\"2020-07-25\"}]",
            "localshortdescription": "New Component Item",
            "sourcemethod": "W",
            "sourcewarehouse": 10001,
            "taxGroupId":null
        }
    ],
    "hasMore": true,
    "limit": 1,
    "count": 1,
    "links": [
        {
            "href": "http://<hostname>/MerchIntegrations/services/foundation/
omnichannel/item/itemlocation?
before=2021-05-03T15%3A50%3A19.189562000%2B00%3A00&nodelevel=COMPANY&limit=2&n
odeid=1&offsetkey=S%2C1111%2C100550000%26since%3D1970-01-01T00%3A00%3A00.001Z&
since=1970-01-01T00%3A00%3A00.001000000%2B00%3A00",
            "rel": "self"
        },
        {
            "href": "http://<hostname>/MerchIntegrations/services/foundation/
omnichannel/item/itemlocation?
before=2021-05-03T15%3A50%3A19.189562000%2B00%3A00&nodelevel=COMPANY&limit=2&n
odeid=1&offsetkey=S%2C1151%2C100000067%26since%3D1970-01-01T00%3A00%3A00.001Z&
since=1970-01-01T00%3A00%3A00.001000000%2B00%3A00",
            "rel": "next"
        }
    ]
}"

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_ITEM_LOCYesYesYesYes
ITEM_MASTERYesNoNoNo
ITEM_LOCYesNoNoNo
MERCHAPI_ITEM_LOCYesYesYesYes
V_MERCHAPI_ITEM_LOC_JSONYesNoNoNo
V_MERCHAPI_ITEM_LOCYesNoNoNo
MERCHAPI_GTS_TAX_LOC_ITEMYesNoNoNo
MERCHAPI_GTS_TAX_LOCYesNoNoNo

REST Endpoint for Omnichannel/vat

Endpoint

MerchIntegrations/services/foundation/omnichannel/vat

Functional Area

Financials - Taxes

Business Overview

This service publishes VAT definitions to the Omnichannel application and can also be consumed by downstream consuming systems. It publishes VAT region and VAT code rate definitions for non-exempt tax regions only, and it derives the published end date from the next more recent effective row for the same VAT region and VAT code combination.

This includes data such as VAT code, active date, and VAT rate, and is applicable for VAT implmentations only (Default Tax Type system option is ‘Simple VAT’). This service does not support incremental date updates, it always returns all VAT related information, even if only one VAT definition was modified.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: VAT_CODES

Additional business tables: VAT_CODE_RATES, VAT_REGION

JSON cache table: MERCHAPI_VAT

JSON generation view: V_MERCHAPI_VAT_JSON

The JSON view is built from VAT_CODES, VAT_CODE_RATES, and VAT_REGION.

Functionally, it publishes VAT-region and VAT-code combinations for non-exempt tax regions only (VAT_REGION.VAT_CALC_TYPE <> ‘E’), ranks ACTIVE_DATE descending within each (vat_region, vat_code) pair, and derives endDate from the next newer effective row for that same region/code combination.

This API is unusual compared with the rest of the omnichannel caches because delta maintenance compares the current VAT source directly to the cache table rather than using row-level ICL driven change capture.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_VAT_JSON and apply VAT_REGION.VAT_CALC_TYPE <> ‘E’.

ICL (Integration Change Log) table: none; refresh and delta processing compare V_MERCHAPI_VAT_JSON directly to MERCHAPI_VAT

No ICL table is used; fine-grained delete and update publishing is intentionally not implemented because omnichannel VAT uses kill-and-fill behavior.

Related bulk publish handling for item/location cache

Tomorrow-effective VAT rate activation through VAT code-rate maintenance using batch job VATDLXPL and its prepost (post) can insert a record into MERCHAPI_ASYNC_REQUEST for foundation/omnichannel/item/itemlocation with REQUEST_TYPE = DATA_REFRESH and REFRESH_TYPE = REBUILD when the VAT change can affect a broad item/location population. This bulk publish handling is driven through the Vat Rate Change Explode (VATDLXPL) flow as part of prepost.pc.

If the future-effective change is narrower and item-specific, targeted item/location delta rows are staged instead of the broader rebuild request.

Refer to foundation/item/location for the detailed item/location operational and performance implications of this bulk publish handling.

Batch Configuration. This API does not have a dedicated delivered asynchronous schedule configuration.

Process configuration name: API_OMNI_VAT

No POM batch schedule entry was identified for this API.

No API-specific BACKGROUND_RUN_FLAG or BACKGROUND_RUN_INTERVAL_SECOND rows were found for this API.

Webhook configuration api name: foundation/omnichannel/vat

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/omnichannel/vat

Input Parameters

Output

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoStringOffset key
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
exclude
able 5-59 PageR
No
esultsItemsVMerch
String
ApiVat - Object. See list of
Fields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)
elements for detail
Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-59 PageResultsItemsVMerchApiVat - Object. See list of elements for detail

Table 5-60 VMerchApiVat - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for VAT details.
vatregionNoNumber(4,0)This feld gives the VAT
region.
vatregionnameNoString (120)This feld gives the VAT
region name.
vatcodeNoString (6)This feld gives the VAT
code.
vatcodedescNoString (120)This feld gives the VAT
code description.
activedateNodateThis feld gives the
active date.
vatrateNoNumber(20,10)This feld gives the VAT
rate.
enddateNodateThis feld gives the end
date.

Table 5-61 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": null,
"vatregion": 1000,
"vatregionname": null,
"vatcode": "S",
"vatcodedesc": null,
"activedate": "2001-12-31",
"vatrate": 1.0,
"enddate": "2001-12-31"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON input:
" {
  "items": [
    {
      "action": "INSERT",
      "vatregion": 1000,
      "vatregionname": "Vat Region 1000",
      "vatcode": "E",
      "vatcodedesc": "Exempt",
      "activedate": "2019-02-10T00:00:00",
      "vatrate": null,
      "enddate": "2019-02-18T00:00:00"
    }
  ],
  "hasMore": true,
  "limit": 1,
  "count": 1,
  "links": [
    {
      "href": "http:// <hostname> /MerchIntegrations/services/foundation/
omnichannel/vat?
before=2021-05-06T19%3A34%3A38.158110%2B08%3A00&limit=1&since=1970-01-01T00%3A
00%3A00.001Z",
      "rel": "self"
    },
    {
      "href": "http://<hostname>/MerchIntegrations/services/foundation/
omnichannel/vat?
before=2021-05-06T19%3A34%3A38.158110%2B08%3A00&limit=1&offsetkey=1000%2CE%2C2
019-02-10T00%3A00%3A00&since=1970-01-01T00%3A00%3A00.001Z",
      "rel": "next"
    }"

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
VAT_CODESYesNoNoNo
VAT_CODE_RATESYesNoNoNo
VAT_ITEMYesNoNoNo
MERCHAPI_VATYesYesYesYes
V_MERCHAPI_VAT_JSONYesNoNoNo
V_MERCHAPI_VATYesNoNoNo

Merchandising Services

The following services are included in this functional area:

  • Administration

    • Data Privacy

      • Data Privacy Download Service

        • Get Personally Identifiable Information
      • Data Privacy Upload Service

        • Delete Personally Identifiable Information
      • Security Pre requisites/Considerations for accessing Data Privacy ReST Services

    • Operations

      • Background Job Configuration Upload Service

        • Get Batch Run Status Services

        • Update Background Job Configuration

      • BI Publisher Report URL Download Service

        • Get BI Publisher Report URL
      • Calendar Download Service

        • Get 4-5-4 Calendar
      • Codes and Descriptions Download Service

      • Get Codes and Descriptions

        • Get Codes and Descriptions for All or Provided Code Type
        • POM End of Week Signal Download Service * Get POM End of Week Signal Detail
      • Service Status Download Service

        • Get ReST Service Status
      • Virtual Date Download Service

        • Get Current Virtual Date in Date Format

        • Get Current Virtual Date in Long and Date Format

      • Webhook Configuration Download Service

      • Webhook Configuration Upload Service

    • System Options

      • System Options Download Service * Get Functional System Options

        • Get Inventory Movement System Options

        • Get Procurement System Options

  • Cost

    • Average Cost

      • Average Cost Upload Service

        • Update Average Cost
    • Cost Changes

      • Cost Change Upload Service

        • Create Cost Change Effective Immediately

        • Manage Cost Changes

    • Pricing Cost

      • Pricing Cost Download Service

        • Get Pricing Cost
  • Customer Orders

    • Customer Order Available Inventory Download Service

    • Get Available Inventory for Customer Orderable Items

    • – Customer Order Inventory Backorder Upload Service * Create Inventory Backorder

    • Customer Order Item Substitution Upload Service

      • Create Customer Order Item Substitution
    • Customer Order Upload Service

  • Cancel Fulfillment Order

    • Create Fulfillment Order
  • • Deals – Deals Download Service * Get Item Location Deals

  • • Financials – Budgets * Half Data Budget Upload Service

  • – Currency * Currency Download Service * Currency Exchange Rate Download Service * Currency Exchange Rate Upload Service

  • – General Ledger * General Ledger Chart of Accounts Upload Service

  • – Terms * Freight Term Upload Service * Payment Term Upload Service

  • – Transaction Data * Transaction Data Upload Service

  • • Foundation – Banners and Channels Download Service * Get Banners * Get Channels

  • – Location List Upload Service * Manage Location Lists

  • – Location Trait Upload Service * Create Location Trait * Delete Location Trait * Update Location Trait

  • – Suppliers and Partners * Partner Download Service * Supplier and Partner Upload Service * Supplier Download Service * Supplier Upload Service

  • – Tax Rules * Tax Rule Download Service * Get Item Location Tax Rules * Get Store Tax Location

       - Get Tax Rule Groups
    
    - Tax Rule Upload Service
    
  • Franchise Management

    • Customer Credit Status Upload Service

      • Update Customer Credit Status
    • Franchise Order Upload Service

      • Create Franchise Orders

      • Manage Franchise Orders

  • Import Management

    • Actual Landed Cost

      • Actual Landed Cost Upload Service

        • Finalize Actual Landed Cost
    • Obligations

      • Obligations Upload Services
  • Inventory

    • Appointments

      • Appointment Upload Service

        • Create Appointment

        • Delete Appointment

        • Delete Appointment Details

        • Manage Appointment Details

        • Update Appointment

    • Inventory Download Service

      • Get Item Available Inventory at Customer Orderable Locations

      • Get Item Location Inventory

    • Inventory Adjustments

      • Inventory Adjustment Upload Service

        • Create Inventory Adjustment for Items at a Location

        • Create Inventory Adjustments

      • Item Transformation Upload Service

        • Create Item Transformations
    • Returns To Vendor

      • Return to Vendor Download Service

        • RTV Publish Services
      • Return to Vendor Upload Service

        • Manage Returns to Vendor
    • Shipments and Receipts

      • Receiver Unit Adjustment Download Service
    • Get Receiver Unit Adjustment

      • Shipment and Receipt Download Service * Get Shipment Detail
      • Shipment and Receipt Upload Service * Create DSD Receipts * Create Outbound ASNs * Delete Inbound ASNs * Manage Inbound ASN * Manage Purchase Order and Stock Order Receipts

      • Manage Purchase Order Receipts
  • Manage Stock Order Receipts

    • Update DSD Receipts
  • – Stock Counts * Stock Count Download Service

    • Get Stock Count Detail

      • Stock Count Upload Service * Create Stock Count Schedules * Delete Stock Count Schedule Locations * Delete Stock Count Schedules * Update Stock Count Schedules
  • Transfers and Allocations

    • Allocation Download Service * Get Allocation Details for Provided Allocation * Get Details for an Allocation

      • Allocation Number Download Service * Get Next Allocation Numbers Service
      • Allocation Upload Service * Close Allocations * Create Allocation Details * Create Allocations * Delete Allocation Details * Update Allocation Details * Update Allocations
      • Mobile Workflow Transfer Download Service * Create Transfer - Get From Locations for Transfer * Create Transfer - Get Items for Transfer * Create Transfer - Get Next Transfer Numbers * Create Transfer - Get To Locations for Transfer

        • Create Transfer - Refresh Transfer Items

          • Create Transfer - Refresh Transfer Locations * Mobile Workflow - Get Locations on Existing Transfers * Mobile Workflow - Get Transfer Statuses
        • Mobile Workflow - Get Transfer Summary

        • Mobile Workflow - Get Transfer Types

        • Mobile Workflow - Get Transfer Users

        • Mobile Workflow - Get Transfers

        • Mobile Workflow - Refresh Transfer Locations

      • Mobile Workflow Transfer Upload Service

        • Create Transfer

        • Mobile Workflow - Update Transfer Status

      • Stock Order Status Upload Service * Manage Stock Order Status

      • Transfer Detail Service

      • Transfer Download Service

        • Get Transfer

        • Get Transfer Details for Provided Transfer

      • Transfer Upload Service

        • Create Book Transfer

        • Create Transfer Details

        • Create Transfers

        • Delete Transfer Details

        • Delete Transfers

        • Update Transfer Details

        • Update Transfers

      • Work Order Status Upload Service

        • Update Work Orders Status
      • Work Order Download Service

        • Purchase Order Work Order Publish Services

        • Transfer Work Order Publish Services

  • Items

    • Item Definition

      • Item AI Services

        • Item Attribute Extraction Services

          • Get Item Attributes Base

          • Get Item Attributes Customized

          • Update Item Attributes Customized

  • Item Download Service

    • Get Item Details

    • Get Item Details for All or Provided Items

    • Get Item Details for Provided Item

    • Get Item Location Details

    • Get Item VAT Details

    • Get Item VAT Details by Item Number

  • Item ELC Upload Service

    • Create Item Conditional Tariff Treatments

    • Create Item Expenses

    • Create Item HTS

    • Create Item HTS Assessments

    • Delete Item Conditional Tariff Treatments

    • Delete Item Expenses

    • Delete Item HTS

    • Delete Item HTS Assessments

    • Update Item Expenses

    • Update Item HTS

    • Update Item HTS Assessments

  • Item Location Upload Service

  • Create Item Locations

    • Manage Item Location Status Update Requests * Update Item Locations
    • Item Number Reservation Upload Service
  • Generate and Reserve Item Numbers

    • Item Placeholder Upload Service * Create Placeholder Items
    • Item Sourcing Upload Service * Create Item Supplier Countries * Create Item Supplier Countries of Manufacture * Create Item Supplier Country Dimensions * Create Item Supplier Country Locations * Create Item Supplier Translations * Create Item Suppliers * Delete Item Supplier Countries * Delete Item Supplier Countries of Manufacture * Delete Item Supplier Country Dimensions * Delete Item Supplier Country Locations
  • Delete Item Supplier Translations

    • Delete Item Suppliers * Update Item Supplier Countries * Update Item Supplier Countries of Manufacture * Update Item Supplier Country Dimensions * Update Item Supplier Country Locations * Update Item Supplier Translations * Update Item Suppliers
    • Item Taxes Upload Service * Create Item Taxes * Delete Item Taxes
    • Item Up Charge Download Service * Get Item Up Charges for Future Date
    • Item Upload Service * Create Item Description Translations * Create Item Image Translations * Create Item Images * Create Item Seasons * Create Item Tickets * Create Item UDA Free Form Translations * Create Item UDAs * Create Item Up Charges * Create Items * Create Required Documents * Delete Item Description Translations * Delete Item Image Translations * Delete Item Images * Delete Item Seasons * Delete Item Tickets * Delete Item UDA Free Form Translations * Delete Item UDAs * Delete Item Up Charges * Delete Items * Delete Required Documents * Update Item Description Translations * Update Item Image Translations * Update Item Images * Update Item Tickets

      • Update Item UDA Free Form Translations

        • Update Item UDAs * Update Item Up Charge Details

    • Update Items

      • Related Items Upload Service

      • Create Related Items

      • Create Related Item Translations

      • Delete Related Items

      • Delete Related Item Translations

      • Update Related Items

      • Update Related Item Translations

  • Item Foundation

    • Brand Download Service

      • Get Brands
    • Brand Upload Service

      • Manage Brands
    • Differentiator Download Service

    • Get Differentiator Details

      • Get Differentiator Details for Provided Differentiator * Get Differentiator Details for Single Differentiator
      • Differentiator Group Download Service * Get Differentiator Groups * Get Differentiators for Provided Group
      • Differentiator Group Upload Service * Create Differentiator Group Details * Create Differentiator Groups * Delete Differentiator Group Details * Delete Differentiator Groups * Update Differentiator Group Details * Update Differentiator Groups
      • Differentiator Type Download Service * Get Differentiator Type Details for Provided Type * Get Differentiator Types
      • Differentiator Upload Service * Create Differentiators * Delete Differentiators * Update Differentiators
      • Seasons and Phases Download Service

        • Get Seasons and Phases Service

      • User Defined Attribute (UDA) Download Service

        • REST Endpoint for UDA details

          • REST Endpoint to Fetch UDA by UDA ID
  • Merchandise Hierarchy

    • Class Download Service

      • Get Class Details for Provided Class

      • Get Classes

    • Class Upload Service

      • Create Class

      • Delete Class

      • Update Class

    • Company Upload Service

      • Update Company
    • Department Download Service

      • Get Department Details

      • Get Department Details for Provided Department

      • Get Department Name

      • Get Department Tax Details

      • Get Departments

    • Department Upload Service * Create Department * Create Department Taxes * Create Department Up Charge * Delete Department * Delete Department Up Charge * Update Department * Update Department Taxes * Update Department Up Charge

    • – Division Download Service * Get Division Details for Provided Division * Get Divisions

    • – Division Upload Service * Create Division * Delete Division * Update Division

    • – Group Download Service * Get Group for Provided Group

    • Get Groups

    • – Group Upload Service * Create Group * Delete Group * Update Group

    • – Merchandise Hierarchy Download Service

  • Get Merchandise Hierarchy

  • – Subclass Download Service * Get Subclass Details for Provided Subclass * Get Subclasses

  • – Subclass Upload Service * Create Subclass * Delete Subclass * Update Subclass

  • – Reclassification * Item Reclassification Download Service * Item Reclassification Upload Service * Merchandise Hierarchy Reclassification Upload Service

  • • Organizational Hierarchy – Organizational Hierarchy Download Service * Get Organizational Hierarchy for Provided Level * Get Organizational Hierarchy for Provided Level and Hierarchy Identifier * Get Organizational Hierarchy

  • – Organizational Hierarchy Upload Service * Create Organizational Hierarchy * Delete Organizational Hierarchy * Update Organizational Hierarchy

  • – Stores * Store Download Service * Get Basic Store Details * Get Store Details * Get Store Details for Provided Store

    • Store Upload Service * Create Store * Create Store Address * Create Store Department Up Charges * Create Store Hours * Create Store Location Trait

       - Create Walk-Through Store
      
       - Delete Store
      
       - Delete Store Address
      
       - Delete Store Department Up Charges
      
       - Delete Store Hours
      
       - Delete Store Location Trait
      
       - Delete Walk-Through Store
      
       - Update Store
      
       - Update Store Address
      
       - Update Store Department Up Charges
      
       - Update Store Hours
      
      • Stores by Hierarchy Level Upload Service

        • Create Store Location Trait by Hierarchy Level

        • Delete Store Location Trait by Hierarchy Level

    • Warehouse

      • Warehouse Download Service

        • Get Basic Warehouse Details

        • Get Warehouse Details

        • Get Warehouse Details for Provided Warehouse

  • Purchase Orders

    • Mobile Workflow Purchase Order Download Service

      • Create Purchase Order - Get Items for Purchase Orders

      • Create Purchase Order - Get Locations for Purchase Order

        • Create Purchase Order - Get Next Purchase Order Numbers * Create Purchase Order - Get Purchase Order Supplier Terms * Create Purchase Order - Get Suppliers for Purchase Order * Create Purchase Order - Refresh Purchase Order Item Locations * Create Purchase Order - Refresh Purchase Order Items * Create Purchase Order - Refresh Purchase Order Suppliers * Get Purchase Order Detail - Simple * - Manage Purchase Orders Get Open Purchase Orders
        • Manage Purchase Orders - Get Purchase Order Cancel Reasons * Manage Purchase Orders - Get Purchase Order Header * Manage Purchase Orders - Get Purchase Order Items for an Order * Manage Purchase Orders - Get Purchase Order Locations for an Order/Item * - Manage Purchase Orders Get Purchase Order Origins
        • Manage Purchase Orders - Get Purchase Order Statuses * Manage Purchase Orders - Get Users Who Have Created Purchase Orders
  • Mobile Workflow Purchase Order Upload Service * Create Purchase Order - Simple

    • Manage Purchase Orders Approve Purchase Orders

    • Manage Purchase Orders - Cancel Purchase Orders

    • Manage Purchase Orders Reject Purchase Orders

    • Manage Purchase Orders Update Purchase Order Dates

  • Purchase Order Download Service

    • Get Purchase Order Details

    • Get Purchase Order Details by Order Number

  - Purchase Order Upload Service
  - Create Pre-issued Order Numbers

  - Create Purchase Order Details

  - Create Purchase Order Expenses

  - Create Purchase Order HTS

  - Create Purchase Order HTS Assessments

  - Create Purchase Order Letters of Credit

  - Create Purchase Orders

  - Delete Purchase Order Details

  - Delete Purchase Order Expenses

  - Delete Purchase Order HTS

  - Delete Purchase Order HTS Assessments

  - Delete Purchase Order Letters of Credit

  - Delete Purchase Orders

  - Update Purchase Order Details

  - Update Purchase Order Expenses

  - Update Purchase Order HTS

  - * Update Purchase Order HTS Assessments * Update Purchase Order Letters of Credit * Update Purchase Orders
  • Replenishment

    • Inventory Request Upload Service

      • Create Inventory Requests
    • Replenishment Scheduled Update Upload Service

  • Sales

    • Sales Download Service

      • Get Item Location Weekly Sales (deprecated)

      • Get Item Location Weekly Sales

    • Store Day User Upload Service

Administration

The following services are included in this functional area:

  • Data Privacy – Data Privacy Download Service * Get Personally Identifiable Information

  • – Data Privacy Upload Service * Delete Personally Identifiable Information

  • – - Security Pre requisites/Considerations for accessing Data Privacy ReST Services

  • • Operations – Background Job Configuration Upload Service * Get Batch Run Status Services * Update Background Job Configuration

  • – BI Publisher Report URL Download Service * Get BI Publisher Report URL

  • – Calendar Download Service * Get 4-5-4 Calendar

  • – Codes and Descriptions Download Service * Get Codes and Descriptions * Get Codes and Descriptions for All or Provided Code Type

  • – External Reference Service * Manage External Cross Reference Identifier

  • – POM End of Week Signal Download Service * Get POM End of Week Signal Detail

  • – Service Status Download Service * Get ReST Service Status

  • – Virtual Date Download Service * Get Current Virtual Date in Date Format * Get Current Virtual Date in Long and Date Format

  • – Webhook Configuration Download Service

  • – Webhook Configuration Upload Service

  • • System Options – System Options Download Service * Get Functional System Options * Get Inventory Movement System Options

    • Get Procurement System Options

Data Privacy

The following services are included in this functional area:

  • Data Privacy Download Service

    • Get Personally Identifiable Information
  • Data Privacy Upload Service

  • Delete Personally Identifiable Information

  • • Security Pre-requisites/Considerations for accessing Data Privacy ReST Services

Data Privacy Download Service

Get Personally Identifiable Information

This section describes the Data Privacy Access service for Merchandising and Sales Audit.

Business Overview

This query service provides access to data stored in Merchandising and Sales Audit that contains personally identifiable information.

Service Type

GET

ReST URL
https://rex.retail.<Region Name>.ocs.oraclecloud.com/<Customer Subnamespace>/
RetailAppsDataPrivServicesRESTApp/rest/privatedata/<entityName>?
customer_id={entityName}::{entityType}::{entityId}::{fullName}:: {phone}::
{email}

Accept

  • application/json

  • • application/xml

Query Parameters
  • customer_id (required): The customer ID string containing the parameters to be used in looking up data. The format of this string is as follows:

  • {entity name}::{entity type}::{entity id}::{full name}::{phone}::{email}

  • Path Parameters

Parameter Description Entity Name The query group type for which data is to be retrieved. The available group types for Merchandising are: • BUYER (Buyer) • MERCHANT (Merchant) • STORE (Store) • WAREHOUSE (Warehouse) • SUPPLIER (Supplier) • PARTNER (Partner) • OUTLOC (Outside Location) • ORDER CUSTOMER (Merchandising Customer) The available group types for Sales Audit are: • EMPLOYEE (Employee) • CUSTOMER (Customer) Note: The supported entity names can also be retrieved by accessing the below URL either in the browser or through a REST client like Postman, cURL and so on:

https://rex.retail.<Region Name>.ocs.oraclecloud.com/
<Customer Subnamespace/RetailAppsDataPrivServicesRESTApp/
rest/privatedata/config/access
Sample Response:
{
  "types": [
    "PARTNER",
    "OUTLOC",
    "WAREHOUSE",
    "getPersonalInfo",
    "EMPLOYEE",
    "raf",
    "STORE",
    "BUYER",
    "CUSTOMER",
    "SUPPLIER",
    "MERCHANT",
    "ORDER_CUSTOMER"
  ]
}

In the above response, getPersonalInfo and raf are only for internal consumption and not to be used. The ones that are permitted are the other entity names.

ParameterDescription
Entity TypeIn case of Merchandising, this parameter is used if the entity name is
PARTNERorOUTLOC. The value here should indicate the type of partner or
outside location being queried. Valid values for this input can be found on the
Codes table for each type:

Partner Types = PTNR

Outside Location Types = LOCT
In case of Sales Audit, this parameter is used if the entity name isCUSTOMER.
The value here should indicate the type of customer being queried. Valid
values for this input can be found on the Codes table where code type is
CIDT. (Customer Types)
Entity IDThe ID of the entity being queried.
For example, the supplier ID (in Merchandising) or employee ID (in Sales
Audit).
Full NameThe full name to be searched for the selected entity.
PhoneThe phone number to be searched for the selected entity.
EmailThe email to be searched for the selected entity.

Default Response

The response will return all instances of the data being searched that occur in the requested entity. For example, if the entity requested was BUYER , all instances where the buyer, name, and phone match the data sent will be returned. If any of these parameters are not sent (for example, email), then it will not be used as part of the search. The following data is included in the response:

ParameterDescription
Entity NameFor Merchandising:

BUYER (Buyer)

MERCHANT (Merchant)

STORE (Store)

WAREHOUSE (Warehouse)

SUPPLIER (Supplier)

PARTNER (Partner)

OUTLOC (Outside Location)

ORDER CUSTOMER (Merchandising Customer)
For Sales Audit:

EMPLOYEE (Employee)

CUSTOMER (Customer)
Entity TypeIn the case of Merchandising, if the entity name isPARTNERorOUTLOC, the
value here indicates the type of partner or outside location. Valid values can
be found on the Codes table for each type:

Partner Types = PTNR

Outside Location Types = LOCT
For other entity types, this will be null.
In the case of Sales Audit, if the entity name isCUSTOMER, the value here
indicates the type of customer. Valid values can be found on the Codes table
where code type isCIDT. For other entity types, this will be null.
Entity IDThe ID of the entity where the data was found.
Full NameThe name associated with the entity.
PhoneThe phone number associated with the entity.
ParameterDescription
FaxThe fax number associated with the entity.
TelexThe telex number associated with the entity.
PagerThe pager number associated with the entity.
EmailThe email address associated with the entity.

Sample Response

{
  "Buyer Information": {
    "list": [],
      "Get Buyer Information": {
        "list": [
          [
            {
              "ENTITY_NAME": "BUYER",
              "ENTITY_TYPE": "null",
              "ENTITY_ID": "1002",
              "FULL_NAME": "Matt Wilsman",
              "PHONE": "6125251034",
              "FAX": "6125259800",
              "TELEX": "null",
              "PAGER": "null",
              "EMAIL": "test.abd.com"
            }
          ]
        ]
      }
    }
  }
}

Response Codes and Error Messages

  • 200 - Success

  • 400 - Bad Request - for the following situations:

    • Customer ID does not match the required format.

    • Invalid input type

    • Missing customer ID

    • Invalid JSON Format

  • 500 - Internal Server Errors - for all other types of errors (for example, configuration errors, SQL errors, and so on).

Success Payloads

  • When Accept=application/json , this API will return data in JSON format

  • When Accept=application/xml , this API will return data formatted as an HTML page

The below table gives a sample of URLs for invoking the GET service for the different entity names .

Note
  • The entity ID should be replaced with the appropriate valid ID based on the customer environment.

  • The sample response formats shown here are with using a REST client like PostMan and with the Header Accept value set to application/json

Entity Name Reference URL Sample Response BUYER https:// { rex.retail.<Regio "Buyer Information": { n "list": [], Name>.ocs.oraclec "Get Buyer Information": { loud.com/ "list": [ <Customer [ Subnamespace/ { RetailAppsDataPri "ENTITY_NAME": "BUYER", vServicesRESTApp/ "ENTITY_TYPE": "null", rest/privatedata/ "ENTITY_ID": "3933", BUYER? "FULL_NAME": "RMS_Buyer", customer_id=BUYER "PHONE": "999-888-7777", ::3933:::: "FAX": "666-555-4444", "TELEX": "null", "PAGER": "null", "EMAIL": "null" } ] ] } } }

Entity Name Reference URL Sample Response MERCHANT https:// rex.retail.<Region { Name>.ocs.oraclecl "Merchant Information": { oud.com/<Customer "list": [], Subnamespace / "Get Merchant Information": { RetailAppsDataPriv "list": [ ServicesRESTApp/ [ rest/privatedata/ { MERCHANT? "ENTITY_NAME": "MERCHANT", customer_id=MERCHA "ENTITY_TYPE": "null", NT::2114:::: "ENTITY_ID": "2114", "FULL_NAME": "DC Merchandiser_2114", "PHONE": "999-666-5555", "FAX": "999-888-2222", "TELEX": "null", "PAGER": "null", "EMAIL": "null" } ] ] } } }

Entity Name Reference URL Sample Response STORE https:// { rex.retail.<Regio "Store Information": { n "list": [], Name>.ocs.oraclec "Get Store Information": { loud.com/ "list": [ <Customer [ Subnamespace/ { RetailAppsDataPri "ENTITY_NAME": "STORE", vServicesRESTApp/ "ENTITY_TYPE": "null", rest/privatedata/ "ENTITY_ID": "7143876752", STORE? "FULL_NAME": "Scott", customer_id=STORE "PHONE": "763-888-4455", ::7143876752::::: "FAX": "1-763-959-4477", : "TELEX": "null", "PAGER": "null", "EMAIL": "Oracle@Automail.com" }, { "ENTITY_NAME": "ADDRESS", "ENTITY_TYPE": "null", "ENTITY_ID": "50003", "FULL_NAME": "Oracle", "PHONE": "111", "FAX": "111", "TELEX": "null", "PAGER": "null", "EMAIL": "John.Doe@Oracle.com" }, { "ENTITY_NAME": "ADDRESS", "ENTITY_TYPE": "null", "ENTITY_ID": "50004", "FULL_NAME": "Oracle", "PHONE": "111", "FAX": "111", "TELEX": "null", "PAGER": "null", "EMAIL": "John.Doe@Oracle.com" } ] ] } } }

Entity NameReference URLSample Response
WAREHOUS
Ehttps://{
rex.retail.<Regio"Warehouse Information": {
n"list": [],
Name>.ocs.oraclec"Get Warehouse Information": {
loud.com/"list": [
<Customer[
Subnamespace /{
RetailAppsDataPri"ENTITY_NAME": "WAREHOUSE",
vServicesRESTApp/"ENTITY_TYPE": "null",
rest/privatedata/"ENTITY_ID": "9993",
WAREHOUSE?"FULL_NAME": "null",
customer_id=WAREH"PHONE": "null",
OUSE::9993::"FAX": "null",
"TELEX": "null",
"PAGER": "null",
"EMAIL": "Eric@manhattan.com"
}
]
]
}
}
}
Entity NameReference URLSample Response
SUPPLIER
https://{
rex.retail.<Regio"Supplier Information": {
n
Name>.ocs.oraclec
loud.com/
"list": [],
"Get Supplier Information": {
"list": [
<Customer
[
Subnamespace/{
RetailAppsDataPri
vServicesRESTApp/
"ENTITY_NAME": "SUPPLIER",
"ENTITY_TYPE": "null",
rest/privatedata/
SUPPLIER?
customer_id=SUPPL
IER::2001::::::
"ENTITY_ID": "2001",
"FULL_NAME": "James Moriarty",
"PHONE": "6128059160",
"FAX": "null",
"TELEX": "null",
"PAGER": "null",
"EMAIL": "null"
},
{

"ENTITY_NAME": "ADDRESS",
"ENTITY_TYPE": "null",
"ENTITY_ID": "105001",
"FULL_NAME": "null",
"PHONE": "null",
"FAX": "null",
"TELEX": "null",
"PAGER": "null",
"EMAIL": "null"
},
{
"ENTITY_NAME": "ADDRESS",
"ENTITY_TYPE": "null",
"ENTITY_ID": "105002",
"FULL_NAME": "null",
"PHONE": "null",
"FAX": "null",
"TELEX": "null",
"PAGER": "null",
"EMAIL": "null"
},
{

"ENTITY_NAME": "ADDRESS",
"ENTITY_TYPE": "null",
"ENTITY_ID": "105003",
"FULL_NAME": "null",
"PHONE": "null",
"FAX": "null",
"TELEX": "null",
"PAGER": "null",
"EMAIL": "null"
},
{

Entity Name Reference URL Sample Response "ENTITY_NAME": "ADDRESS", "ENTITY_TYPE": "null", "ENTITY_ID": "105004", "FULL_NAME": "null", "PHONE": "null", "FAX": "null", "TELEX": "null", "PAGER": "null", "EMAIL": "null" } ] ] } } }

Entity Name Reference URL Sample Response PARTNER https:// { rex.retail.<Regio "Partner Information": { n "list": [], Name>.ocs.oraclec "Get Partner Information": { loud.com/ "list": [ <Customer [ Subnamespace / { RetailAppsDataPri "ENTITY_NAME": "PARTNER", vServicesRESTApp/ "ENTITY_TYPE": "BK", rest/privatedata/ "ENTITY_ID": "464694358", PARTNER? "FULL_NAME": "XXXXX", customer_id=PARTN "PHONE": "XXXXX", ER::::464694358:: "FAX": "null", :::: "TELEX": "null", "PAGER": "null", "EMAIL": "null" }, { "ENTITY_NAME": "ADDRESS", "ENTITY_TYPE": "null", "ENTITY_ID": "270001", "FULL_NAME": "B", "PHONE": "123-654-8888", "FAX": "123-654-9999", "TELEX": "null", "PAGER": "null", "EMAIL": "oracle@automail.com" }, { "ENTITY_NAME": "ADDRESS", "ENTITY_TYPE": "null", "ENTITY_ID": "270002", "FULL_NAME": "P", "PHONE": "123-654-8888", "FAX": "123-654-9999", "TELEX": "null", "PAGER": "null", "EMAIL": "oracle@automail.com" }, { "ENTITY_NAME": "ADDRESS", "ENTITY_TYPE": "null", "ENTITY_ID": "270003", "FULL_NAME": "null", "PHONE": "null", "FAX": "null", "TELEX": "null", "PAGER": "null", "EMAIL": "null" } ]

Entity Name Reference URL

Sample Response
      ]
    }
  }
}

OUTLOC

https:// {
rex.retail.<Regio  "Out Loc Information": {
n     "list": [],
Name>.ocs.oraclec    "Get OutLoc Information": {
loud.com/      "list": [
<Customer         [
Subnamespace /          {
RetailAppsDataPri            "ENTITY_NAME": "OUTLOC",
vServicesRESTApp/            "ENTITY_TYPE": "RL",
rest/privatedata/            "ENTITY_ID": "97285",
OUTLOC?            "FULL_NAME": "Alexandar Hamilton",
customer_id=OUTLO            "PHONE": "56565-22-22",
C::::97285::::::            "FAX": "56565-22-22",
            "TELEX": "56565-22-22",
            "PAGER": "null",
            "EMAIL":
"alloy.automation@oracle.com"
          }
        ]
      ]
    }
  }
}

Entity Name Reference URL Sample Response ORDER_CU STOMER https:// { rex.retail.<Regio "Order Customer Information": { n "list": [], Name>.ocs.oraclec "Order Customer Information": { loud.com/ "list": [ <Customer [ Subnamespace / { RetailAppsDataPri "ENTITY_NAME": "ORDER_CUSTOMER", vServicesRESTApp/ "ENTITY_TYPE": "null", rest/privatedata/ "ENTITY_ID": "90003", ORDER_CUSTOMER? "FULL_NAME": "John Scott", customer_id=ORDER "PHONE": "1800800800", _CUSTOMER::90003: "FAX": "null", ::: "TELEX": "null", "PAGER": "null", "EMAIL": "null" } ] ] } } } EMPLOYEE https:// { rex.retail.<Regio "Employeee Information": { n "list": [], Name>.ocs.oraclec "Employeee Information": { loud.com/ "list": [ <Customer [ Subnamespace / { RetailAppsDataPri "ENTITY_NAME": "EMPLOYEE", vServicesRESTApp/ "ENTITY_TYPE": "null", rest/privatedata/ "ENTITY_ID": "SAMMYSMITH", EMPLOYEE? "FULL_NAME": "PS", customer_id=EMPLO "PHONE": "990-888-8989", YEE::SAMMYSMITH:: "FAX": "null", :::: "TELEX": "null", "PAGER": "null", "EMAIL": "PS@GMAIL.COM" } ] ] } } }

Entity Name Reference URL Sample Response CUSTOMER https:// { rex.retail.<Regio "Customer Information": { n "list": [], Name>.ocs.oraclec "Customer Information": { loud.com/ "list": [ <Customer [ Subnamespace/ { RetailAppsDataPri "ENTITY_NAME": "CUSTOMER", vServicesRESTApp/ "ENTITY_TYPE": "CUSTID", rest/privatedata/ "ENTITY_ID": "1234567", CUSTOMER? "FULL_NAME": "alice", customer_id=CUSTO "PHONE": "876543", MER::CUSTID::1234 "FAX": "null", 567:::::: "TELEX": "null", "PAGER": "null", "EMAIL": "lice@gmail.com" } ] ] } } }

Data Privacy Upload Service

Delete Personally Identifiable Information

This section describes the Data Privacy Forget service for Merchandising and Sales Audit.

Business Overview

This service supports updating personal information stored in Merchandising and Sales Audit. When the service is invoked with mask strings as inputs, it overwrites the fields with mask strings, which effectively removes the personal information from the system.

Service Type
DELETE
ReST URL
https://<host:port>/RetailAppsDataPrivServicesRESTApp/rest/privatedata/
<updateEntityName>?customer_id={entityName}::{entityType}::{entityId}::
{fullName}:: {phone}::{fax}::{telex}::{pager}::{email}::{addr1}::{addr2}::
{addr3}::{county}::{city}::{state}::{countryId}::{postalCode}

Accept

  • application/json

  • application/xml

Query Parameters
  • customer_id (required): The customer ID string containing the parameters to be used in updating data. The format of this string is as follows:

    • {entityName}::{entityType}::{entityId}::{fullName}::{phone}::{fax}::{telex}::{pager}:: {email}::{addr1}::{addr2}::{addr3}::{county}::{city}::{state}::{countryId}::{postalCode}
Path Parameters
ParameterDescription
Update Entity
Name
The update group type for which data is to be updated.
The available group types for Merchandising are:

updateAddressInformation

updateOrderCustomerInformation

updateSupplierInformation

updateOutLocInformation

updateBuyerInformation

updateMerchantInformation

updateStoreInformation

updateWarehouseInformation

updatePartnerInformation
The available group types for Sales Audit are:

updateEmployeeInformation

updateCustomerInformation
**Note:**To view the supported forget PII data types, the below URL can be invoked
with a GET request
https://rex.retail.<Region Name>.ocs.oraclecloud.com/<Customer
Subnamespace/RetailAppsDataPrivServicesRESTApp/rest/
privatedata/config/forget
  • Entity Name The group type for which data is to be updated. (required) The available group types for Merchandising are: • BUYER (Buyer) • MERCHANT (Merchant) • STORE (Store) • WAREHOUSE (Warehouse) • SUPPLIER (Supplier) • PARTNER (Partner) • OUTLOC (Outside Location) • ORDER CUSTOMER (Merchandising Customer) The available group types for Sales Audit are: • EMPLOYEE (Employee) • CUSTOMER (Customer)

  • Entity Type In case of Merchandising, this parameter is used if the entity name is PARTNER or OUTLOC . The value here should indicate the type of partner or outside location. Valid values for this input can be found on the Codes table for each type: • Partner Types = PTNR • Outside Location Types = LOCT In case of Sales Audit, this parameter is used if the entity name is CUSTOMER . The value here should indicate the type of customer. Valid values for this input can be found on the Codes table where code type is CIDT (Customer Types).

  • Entity ID The ID of the entity to be updated. (required) For example, the supplier ID (in Merchandising) or employee ID (in Sales Audit).

ParameterDescription
Full NameThe value to update the full name with. If the value is null and this is a required field
in the entity,XXXXXwill be used.
PhoneThe value to update the phone number with. If the value is null and this is a required
field in the entity,XXXXXwill be used.
FaxThe value to update the fax number with.
TelexThe value to update the telex number with.
PagerThe value to update the pager number with.
EmailThe value to update the email address with.
Addr1The value to update the address 1 with.
Addr2The value to update the address 2 with.
Addr3The value to update the address 3 with.
CountyThe value to update the county with.
CityThe value to update the city with.
StateThe value to update the state with.
CountryThe value to update the country with.
Postal CodeThe value to update the postal code with.

Default Response

This service only returns a response code to signify if the request is successful or not. If no record is updated, the service returns an error.

Response Codes and Error Messages

  • 200 - Success

  • 400 - Bad Request - for the following situations:

    • Customer ID does not match the required format

    • Invalid input type

    • Missing customer ID

    • Invalid JSON Format

  • 500 - Internal Server Errors - for all other types of errors (for example, configuration errors, SQL errors, and so on).

Success Payloads

N/A

The below section depicts the sample URL for Delete API for PII (Personally Identifiable Information) for the various entity names.

Entity NameReference URL
BUYERhttps:// rex.retail..ocs.oraclecloud.com/<Customer Subnamespace/
RetailAppsDataPrivServicesRESTApp/rest/privatedata/updateBuyerInformation?
customer_id=BUYER::3933
::::::
SUPPLIERhttps:// rex.retail..ocs.oraclecloud.com/<Customer Subnamespace/
RetailAppsDataPrivServicesRESTApp/rest/privatedata/updateSupplierInformation?
customer_id=SUPPLIER::2001::::::

Entity Name Reference URL MERCHANT https:// rex.retail..ocs.oraclecloud.com/<Customer Subnamespace / RetailAppsDataPrivServicesRESTApp/rest/privatedata/updateMerchantInformation? customer_id=MERCHANT::2114:::: STORE https:// rex.retail..ocs.oraclecloud.com/<Customer Subnamespace/ RetailAppsDataPrivServicesRESTApp/rest/privatedata/updateStoreInformation? customer_id=STORE::7143876752:::::: WAREHOUSE https:// rex.retail..ocs.oraclecloud.com/<Customer Subnamespace / RetailAppsDataPrivServicesRESTApp/rest/privatedata/updateWarehouseInformation? customer_id=WAREHOUSE::9993:: PARTNER https:// rex.retail..ocs.oraclecloud.com/<Customer Subnamespace / RetailAppsDataPrivServicesRESTApp/rest/privatedata/updatePartnerInformation? customer_id=PARTNER::::464694358:::::: OUTLOC https:// rex.retail..ocs.oraclecloud.com/<Customer Subnamespace / RetailAppsDataPrivServicesRESTApp/rest/privatedata/updateOutLocInformation? customer_id=OUTLOC::::97285:::::: CUSTOMER https:// rex.retail..ocs.oraclecloud.com/<Customer Subnamespace/ RetailAppsDataPrivServicesRESTApp/rest/privatedata/CUSTOMER? customer_id=CUSTOMER::CUSTID::1234567:::::: ORDER_CUST https:// rex.retail..ocs.oraclecloud.com/<Customer Subnamespace / OMER RetailAppsDataPrivServicesRESTApp/rest/privatedata/ updateOrderCustomerInformation?customer_id=ORDER_CUSTOMER::90003:::: EMPLOYEE https:// rex.retail..ocs.oraclecloud.com/<Customer Subnamespace / RetailAppsDataPrivServicesRESTApp/rest/privatedata/updateEmployeeInformation? customer_id=EMPLOYEE::SAMMYSMITH::::::

Security Pre-requisites/Considerations for accessing Data Privacy ReST Services

The preferred access method for these services is through Oauth2–based security. For OAuth credential configuration, see the section titled OAuth for REST Service Authentication in this document.

In the rare event of using basic Auth for accessing these services, ensure the user accessing these services has the necessary IDCS groups associated as listed below:

  • For Production environments,

    • DATAPRIV_ADMINISTRATOR_REST_API_ROLE

    • DATA_PRIVACY_ADMINISTRATOR_JOB

  • For Non-Prod environments,

    • DATAPRIV_ADMINISTRATOR_REST_API_ROLE_PREPROD

    • DATA_PRIVACY_ADMINISTRATOR_JOB_PREPROD

Operations

The following services are included in this functional area:

  • Background Job Configuration Upload Service

    • Get Batch Run Status Services

    • Update Background Job Configuration

  • BI Publisher Report URL Download Service

    • Get BI Publisher Report URL
  • Calendar Download Service

    • Get 4-5-4 Calendar
  • Codes and Descriptions Download Service

    • Get Codes and Descriptions

    • Get Codes and Descriptions for All or Provided Code Type

  • External Reference Service

    • Manage External Cross Reference Identifier
  • POM End of Week Signal Download Service

    • Get POM End of Week Signal Detail
  • Service Status Download Service

    • Get ReST Service Status
  • Virtual Date Download Service

    • Get Current Virtual Date in Date Format

    • Get Current Virtual Date in Long and Date Format

  • Webhook Configuration Download Service

  • Webhook Configuration Upload Service

Upload RDE Batch Status for Business Date

Functional Area

Administration - Operations

Business Overview

This service can be used by RDE to send job status to MFCS. It inserts a record in RMS_RDE_BATCH_STATUS with job name, business date and status from the payload.

When the service is called with job name = ‘RDE_COMPLETION’, the relevant business date, and status = ‘C’ (completed), it serves as a signal to MFCS that RDE has successfully extracted data for a specific business date.

Service Type

POST

ReST URL

MerchIntegrations/services/private/administration/operations/rdeBatchDependency/create

Input Payload Details

Create - Object. See list of elements for detail

Sample Input Message
{
"jobName": "RDE_COMPLETION",
"businessDate": "2001-12-31",
"status": "C"
}
Response Code: 200 (Success)
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}

Background Job Configuration Upload Service

The following services are included in this functional area:

  • Get Batch Run Status Services

  • Update Background Job Configuration

Get Batch Run Status Services

Endpoints

/MerchIntegrations/services/administration/operations/batchRunStatus

Functional Area

Administration - Operations
Business Overview

This service returns the current running status of nightly batch. During the nightly batch window, certain REST services may be unavailable either for the entire duration or for a portion of the night, especially when inventory or costing batch flows are in progress. This API enables clients to monitor the status of batch processes, allowing them to optimize their service calls by pausing or resuming dependent REST services accordingly.

Service Type

GET

ReST URL

  • /MerchIntegrations/services/administration/operations/batchRunStatus

Response Code: 200 (Success)

Table 5-62 BatchStatus - Object. See list of elements for detail

Element NameRequiredData TypeDescription
batchRunningIndYesStringThis feld indicates if
Nightly batch jobs are
running. It is set to ‘Y’
at the beginning of the
RMS nightly batch
cycle and set to ‘N’ at
the end of the cycle.
inventoryBatchRunnin
gInd
YesStringThis feld indicates
whether inventory
batch jobs are
running. Valid values
are Y or N.
costingBatchRunningI
nd
YesStringThis feld indicates
whether costing batch
jobs are running. Valid
values are Y or N.
batchStartWarningIndYesStringIndicates whether the
nightly batch is about
to start, allowing
clients to pause
operations that are not
permitted during the
batch window. Valid
values are Y or N.
Sample Response Message
{
"batchRunningInd": "Y",
"inventoryBatchRunningInd": "N",
"costingBatchRunningInd": "N",
"batchStartWarningInd": "N"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}
Update Background Job Configuration

This section describes the Background Process Configuration.

Business Overview

This service is used to update the configuration for each background jobs in Merchandising.

Service Type

Post

ReST URL

processes/update/process_config/execution

Input Parameters

Parameter NameRequiredDescription
JobNameYesJob Name
numThreadsNoMaximum number of threads the job will
execute
numDataToProcessNoNumber of records a jobs will process
each run.
commitMaxCtrNoMax number of records processed
before a commit is issued.
archiveIndNoThis field will be used to determine if
associated tables for this job needs to
be archived to history or not.

Output

N/A

Table Impact

TABLESELECTINSERTUPDATEDELETE
B8D_PROCESS_CONFIGNoNoYesNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

BI Publisher Report URL Download Service

The following services are included in this functional area:

  • Get BI Publisher Report URL
Get BI Publisher Report URL

Functional Area

Administration - Operations
Business Overview

This service is used by Oracle Retail Financial Integration (RFI) to retrieve the URL of a BI Publisher report from Merchandising or Sales Audit that can be invoked from the PeopleSoft

Financials General Ledger based on a particular journal entry. The report URL that will be returned will be different based on the ID sent in the service call. Based on that ID, Merchandising will determine if it was a Merchandising, Sales Audit, or Invoice Matching ID and return a URL for the appropriate report.

The possible reports for Merchandising and Sales Audit are:

  • GL Fixed Deal Data Report

  • GL Item level Data Report

  • GL Item Rollup Daily Data Report

  • GL Item Rollup Monthly Data Report

  • GL Sales Audit Data Report

Also, for Invoice Matching, one of the following reports might be returned:

  • Merchandise Invoice Document Report

  • Non-Merchandise Invoice Document Report

  • Credit Note Document Report

  • Credit Memo Cost Document Report

  • Credit Memo Quantity Document Report

  • Debit Memo Cost Document Report

  • Debit Memo Quantity Document Report

  • Debit Memo VAT Document Report

  • Receipt Write Off Document Report

For cloud service implementations, this configuration should be done if you are working with PeopleSoft Financials. For on premise implementations, you may need to configure this in the RETAIL_SERVICE_REPORT_URL table. For cloud service implementations, this configuration can be done by the Oracle Cloud Operations team.

The report is similar functionality to the Drill Forward and Drill Back functionality available in the Merchandising Transaction Data and Fixed Deal pages and the Sales Audit General Ledger Transaction page. See also Get Drill Back Forward URL Service for more on the APIs that support this functionality.

Service Type

POST

ReST URL

MerchIntegrations/services/administration/operations/biPublisherReport/url/get

Input Payload Details

Table 5-63 Get - Object. See list of elements for detail

Element NameRequiredData TypeDescription
reportReferenceKeyYesString (32)Holds the unique reference trace ID
that is used to match to the report
URL.
Sample Input Message
{
  "reportReferenceKey": "String"
}

Response Code: 200 (Success)

Table 5-64 GetResponse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
reportReferenceKeyYesString (32)Holds the unique reference trace ID
that is used to match to the report
URL.
reportUrlYesString (256)Contains the report URL with
parameters for fnancial integration.
Sample Response Message
{
  "reportReferenceKey": "String",
  "reportUrl": "String"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Calendar Download Service

The following services are included in this functional area:

  • Get 4-5-4 Calendar
Get 4-5-4 Calendar

Endpoints

/MerchIntegrations/services/administration/operations/calendar

Functional Area

Administration – Operations

Business Overview

This service retrieves 4-5-4 calendar details. This service takes an optional query parameter of year to retrieve details for that year

Service Type

GET

ReST URL
MerchIntegrations/services/administration/operations/calendar

Input Parameters

Parameter NameRequiredData TypeDescription
yearNoString (4)Year

Response Code: 200 (Success)

Table 5-65 Calendar - Object. See list of elements for detail

Element NameRequiredData TypeDescription
yearYesNumberContains the year. The
4-5-4 year begins on
the frst day of the frst
4-5-4 month regardless
of when the calendar
year begins.
monthYesNumberContains the number
ranging from 1 to 12
which indicates the
4-5-4 month.
noOfWeeksYesNumberIndicates whether
there are 4 or 5
calendar weeks in the
4-5-4 month.
frstDayYesdateContains the frst day
of the 4-5-4 month in
YYYY-MM-DD format
Sample Response Message
[
{
"year": 2020,
"month": 2,
"noOfWeeks": 4,
"firstDay": "2001-12-31"
}
]
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}

Codes and Descriptions Download Service

The following services are included in this functional area:

  • Get Codes and Descriptions

  • Get Codes and Descriptions for All or Provided Code Type

Get Codes and Descriptions
Business Overview

Code Detail service allows user to retrieve code details for a selected code and code type.

Service Type

GET

ReST URL
CodeDetail/codeDetails?code={ }&codeType={ }

Input Parameters

Parameter NameRequiredDescriptionValid values
CodeYesCodeNA
Code TypeYesCode TypeNA

Output

RestCodeDetailRecRDO

Parameter Name Data Type codeDesc String requiredInd String codeSeq BigDecimal codeType String codeTypeDesc String code String

JSON Structure
{
  "codeDesc": null,
  "requiredInd": null,
  "codeSeq": null,
  "codeType": null,
  "codeTypeDesc": null,
  "code": null,
  "links": [],
  "hyperMediaContent": {
    "linkRDO": []
  }
}

Table Impact

TABLESELECTINSERTUPDATEDELETE
CODE_HEADYesNoNoNo
CODE_DETAILYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo
Get Codes and Descriptions for All or Provided Code Type

Endpoints

/MerchIntegrations/services/administration/operations/codes

Functional Area

Administration – Operations

Business Overview

This service returns full dataset of code and code detail. This service supports pagination and the page size of each response is controlled by the query paramter ‘limit’. This service optionally takes code type as input for returning back the code details for a single code type.

Table 5-66 Input Parameters

Parameter NameRequiredData TypeDescription
limitNoString (6)Pagination limit.
Default value is 1000.

Table 5-66 (Cont.) Input Parameters

Parameter NameRequiredData TypeDescription
offsetkeyNoStringOffset key (Code Type)
codeTypeNoStringCode Type
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Service Type

GET

ReST URL

MerchIntegrations/services/administration/operations/codes

Input Payload Details

Table 5-67 Input Parameters for MerchIntegrations/services/administration/operations/ codes

Parameter NameRequiredData TypeDescription
offsetkeyNoStringOffset Key. Valid Value is code type
limitNoNumberPagination limit. Default Value is 1000.
codeTypeNoStringCode Type. Searches for a specifc code
type

Response Code: 200 (Success)

Table 5-68 PageResultItemsCode - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch

Table 5-68 (Cont.) PageResultItemsCode - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-69 Code - Object. See list of elements for detail

Element NameRequiredData TypeDescription
codeTypeNoStringThis feld contains the
code type which will
serve as a grouping
mechanism for the
multiple codes.
descriptionNoStringThis feld will contain
the description of the
code type.
detailsNoCollection of ObjectList of Code against
this codeType

Table 5-70 CodeDetail - Object. See list of elements for detail

Element NameRequiredData TypeDescription
codeNoString (6)This feld contains the
code used in the
application.
codeDescriptionNoStringThis feld contains the
description associated
with the code and code
type.
sequenceNoStringThis is a number used
to order the elements
so that they appear
consistently when
using to populate a list
or display in user
interface.
usedIndNoStringIndicate if the code is
in use or not. Records
set to N will not
display as possible
options for users.

Table 5-71 LinkItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL

Table 5-71 (Cont.) LinkItem - Object. See list of elements for detail

Element Name Required Data Type Description rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetches and contains the offsetkey which unique identifies the last record of this response. Sample Response Message { "items": [ { "codeType": "LOC", "description": "Location Types", "details": [ { "code": "S", "codeDescription": "Store", "sequence": "1", "usedInd": "Y" } ] } ], "hasMore": true, "limit": 1, "count": 1, "links": [ { "href": "https://<server>:<port>/Application/services/resources?limit=1000", "rel": "self" } ] }

Table Impact
TABLESELECTINSERTUPDATEDELETE
CODE_HEADYesNoNoNo
CODE_DETAILYesNoNoNo

External Reference Service

The following services are included in this functional area:

  • Manage External Cross Reference Identifier
Manage External Cross Reference Identifier
Functional Area
Administration - Operations
Business Overview

This is a helper service to bulk update external reference id column of few selected tables that can be used during migration activity, like financial integration migration. This only supports the following entities - Supplier, Partner, Payment Terms, Freight Terms, Organization Unit, Language and State. This service allows the client to publish Merchandising internal entity id, optional additional sub-idenfier key, and its corresponding external reference id and this service will update the column external_ref_id column in the table. This service does basic validation that the merchandising entity id is valid and exists in the corresponding table. For the external reference id field, there is no validation and it expects the caller to pass in the correct value. If the external reference id is left blank in the request, it will be nulled out in the table.

Service Type
PUT
ReST URL
MerchIntegrations/services/administration/operations/externalCrossReference/
manage
Input Payload Details

Manage - Object. See list of elements for detail

Items - Object. See list of elements for detail

ManageError - Object. See list of elements for detail

Response Code: 200 (Success)

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

ManageError - Object. See list of elements for detail

POM End of Week Signal Download Service

The following services are included in this functional area:

  • Get POM End of Week Signal Detail
Get POM End of Week Signal Detail
Business Overview

This service is used to determine whether the Vdate is an End of Week Date or Not.

If Vdate is at EOW, it returns ‘Y’, else ‘N’.

Service Type

Get

ReST URL

EowRunSignal/EowRunSignalDetail

Input Parameters

N/A

Output

RestEowRDO
Parameter NameData Type
eowChar(‘Y’ or ‘N’)
JSON Structure
{
   "eow": "N",
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}

Table Impact

TABLESELECTINSERTUPDATEDELETE
PERIODYesNoNoNo
SYSTEM_VARIABLESYesNoNoNo

Service Status Download Service

Get ReST Service Status

Functional Area

Administration - Operations
Business Overview

This service allows the querying of the status of ReST web service call using an X-CorrelationID. The correlation id that was included in the request HTTP header can be used as the input, or if one was not passed one in the original request, the one from the response HTTP header can be used as the input. This service will return all the entries in service_metrics table against that correlation ID. The response support pagination and if there are multiple pages of response, use the next link to call subsequent pages. This service additionally checks the input correlation ID against the request_id field to handle the scenario where the x_correlation_id is null in the service_metrics table because it was not included in request HTTP header.

An additional query parameter of includePayload, supports a value of yes (‘Y’) or no (‘N’) can be used to retrieve the request and response payload for that request. In the case of a service error (response code of 300 or greater) the response payload will be included irrespective of includePayload parameter.

Service Metrics

Merchandising ReST Service framework keeps a log of every service call in the service_metrics table. When the service request is received at the application server, it makes an entry to service_metrics table using a unique request ID and the time of the call. Once the service request has been processed and the response is ready to be served back, the

application server updates the service metrics table to capture the run time and response code.

The application server optionally saves the payload in service_payload table. The payloads are only captured for POST, PUT or DELETE service calls. The payload for GET service calls are captured if service call had an error (response code is 300 or greater) or while running in debugging mode.

The service metrics and payload entry are held for short period and get purged after configurable (default 3 months) purge window.

X-Correlation-ID

Merchandising ReST Service framework supports a custom HTTP Header named as X- Correlation-ID and it is recommended to include this in every ReST web service call for traceability purpose.

The request X-Correlation-ID is copied and is returned in the Response HTTP Header X- Correlation-ID field. This is also captured in the service_metrics table against that request.

In the case where, X-Correlation-ID was not included in the request header, the internally generated unique request ID is populated in the Response HTTP Header X-Correlation-ID field. The response X-Correlation-ID should be logged if one is not passed in the request.

It is recommended that a unique X-Correlation-ID is always passed as part of every request (including retry) to trace each unique call. The validation for unique value is not enforced.

A log of X-Correlation-IDs should be maintained for traceability purpose and troubleshooting exceptions.

Service Metrics
  • Merchandising ReST Service framework keeps a log of every service call in the service_metrics table. When the service request is received at the application server, it makes an entry to service_metrics table using a unique request ID and the time of the call. Once the service request has been processed and the response is ready to be served back, the application server updates the service metrics table to capture the run time and response code.

  • The application server optionally saves the payload in service_payload table. The payloads are only captured for POST, PUT or DELETE service calls. The payload for GET service calls are captured if service call had an error (response code is 300 or greater) or while running in debugging mode.

  • The service metrics and payload entry are held for short period and get purged after configurable (default 3 months) purge window.

X-Correlation-ID
  • Merchandising ReST Service framework supports a custom HTTP Header named as X- Correlation-ID and it is recommended to include this in every ReST web service call for traceability purpose.

  • The request X-Correlation-ID is copied and is returned in the Response HTTP Header X- Correlation-ID field. This is also captured in the service_metrics table against that request.

  • In the case where, X-Correlation-ID was not included in the request header, the internally generated unique request ID is populated in the Response HTTP Header X-Correlation-ID field. The response X-Correlation-ID should be logged if one is not passed in the request.

  • It is recommended that a unique X-Correlation-ID is always passed as part of every request (including retry) to trace each unique call. The validation for unique value is not enforced.

  • A log of X-Correlation-IDs should be maintained for traceability purpose and troubleshooting exceptions.

Service Type

GET

ReST URL

MerchIntegrations/services/administration/operations/restService/status

Input Parameters

Parameter NameRequiredData TypeDescription
xCorrelationIdYesStringX-Correlation-ID
includePayloadNoStringInclude Payload Y/N.
Default value is N.
limitNoString (6)Pagination limit.
Default value is 1000.
offsetkeyNoStringOffset key
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Response Code: 200 (Success)

Table 5-72 PageResultItemsServiceMetrics - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-73 ServiceMetrics - Object. See list of elements for detail

Element NameRequiredData TypeDescription
requestIdYesString (36)This feld contains
unique Request id.
xCorrelationIdNoString (36)This feld contains the
X-Correlation_ID in the
response http header.
If the client passed a X-
Correlation_ID in the
request HTTP Header,
the same is returned
or else a generated
UUID (captured in
request_id) is returned
back
methodYesString (10)Contains the HTTP
Method like GET, PUT,
POST, DELETE.
pathYesString (255)Contains the Rest
Service path.
responseCodeNoString (10)This feld contains the
HTTP Code for the
response. This will
hold a value after the
server processed the
request and
responded. Example
200, 400, 500
requestTimestampYesdateTimeThis feld hold the
timestamp in UTC
when the request was
received by the server.
responseTimestampNodateTimeThis feld hold the
timestamp in UTC
when the request
processing completes
and server is ready to
transmit the response
back.
durationMillisecondNoNumberThis feld contains the
millisecond to process
the request. This is
populated after server
completes the request.
requestSizeByteNoNumberThis feld contains the
bytes in request
payload.
responseSizeByteNoNumberThis feld contains the
bytes in the response
payload. This is
populated after server
completes the request.

Table 5-73 (Cont.) ServiceMetrics - Object. See list of elements for detail

Element NameRequiredData TypeDescription
clientNameYesString (255)This feld contains the
oAuth Client name
used to make the
request
serviceUrlYesString (2000)This feld the complete
path for the service
call
requestPayloadNoStringThis feld contains the
request payload if
query parameter of
includePayload is set
to Y.
responsePayloadNoStringThis feld contains the
response payload if
query parameter of
includePayload is set
to Y or there was an
exception in the
request and the
response code is 300
or greater.

Table 5-74 LinkItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetches and contains
the offsetkey which
unique identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"requestId": "6ccc5287-a078-4aae-b697-9ade58d70bd1",
"xCorrelationId": "034b9672-4818-40b4-916d-210a21e0de84",
"method": "POST",
"path": "/MerchIntegrations/services/foundation/item",
"responseCode": "200",
"requestTimestamp": "2001-12-31T23:59:59.000Z",
"responseTimestamp": "2001-12-31T23:59:59.000Z",
"durationMillisecond": 450,
"requestSizeByte": 720,
"responseSizeByte": 18240,
"clientName": "xocs_client",
"serviceUrl": "https://<server>/MerchIntegrations/services/administration/
operations/service/status?xCorrelationId=36c6b984-8e16-4efb-
b73f-5984357c1d72",
"requestPayload": "{}",
"responsePayload": "{}"
}
],
"hasMore": true,
"limit": 1,
"count": 1,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?limit=1000",
"rel": "self"
}
]
}

Virtual Date Download Service

The following services are included in this functional area:

  • Get Current Virtual Date in Date Format

  • Get Current Virtual Date in Long and Date Format

Get Current Virtual Date in Date Format
Business Overview

Deprecated in v23.1.401.0: Scheduled for Removal in 2 Years. Use RmsReSTServices/ services/private/Common/vDate

This service retrieves the Merchandising virtual business date (vdate).

Service Type

GET

ReST URL

Vdate/vdateDetail

Input Parameters

N/A

Output

Table 5-75 RestVdateRecRDO
Parameter NameData Type
vdateDate
JSON Structure
[
  {
    "vdate": null,
    "links": [],
    "hyperMediaContent": {
      "linkRDO": []
    }
  }
]

Table Impact

TABLESELECTINSERTUPDATEDELETE
PERIODYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYL
OAD
NoYesNoNo
Get Current Virtual Date in Long and Date Format

Business Overview

Retrieve Merchandising Vdate.

Service Type

GET

ReST URL

/Common/vDate

Input Parameters

N/A

Output

Table 5-76 Vdate in Long and Date Format

Parameter NameData Type
VdateLong
VdateDate
JSON Structure
{
   "vdateDisplay": "01-Jul-2019",
   "vdate": 1561939200000,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
PERIODYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Webhook Configuration Download Service

Get Webhook Configuration and Status
Functional Area
Administration - Operations
Business Overview

This service retrieves the configured Webhook Listeners and any unused credential names. The response contains three types of information:

  • Webhook Configurations : Provides details about the current webhook configuration, including the listener URL and interval seconds. This information is retrieved from the webhook_config table.

  • Current Status : Indicates the current status of the webhook, including the since timestamp to be used in the next call and an estimate of when the next heartbeat or polling process will be triggered. If the most recent heartbeat encountered a failure, the error message will be included. This information is retrieved from the webhook_status table.

  • Metrics Summary for today and yesterday : Included only if the query parameter includeMetrics is set to Y. The metrics summary is at day level and is limited to the current day (starting from midnight GMT) and yesterday (GMT timezone) and provides total counts of webhook calls and heartbeats triggered on the day, along with the number of successful calls. It additionally contains detailed activity log message of the last webhook and heartbeat processes executed for the day to assist with troubleshooting if webhook publish is unsuccessful. This data is retrieved from the webhook_metrics table. Note: The number of rows in this table can grow very large over time and fetching the metrics summary will be a performance-intensive operation and service may take additional time compared to a call with includeMetrics = N.

Service Type
GET
ReST URL
MerchIntegrations/services/administration/operations/webhooks
Input Parameters
Parameter NameRequiredData TypeDescription
limitNoString (6)Pagination limit.
Default value is 1000.
Parameter NameRequiredData TypeDescription
offsetkeyNoStringOffset key
serviceNoStringService
includeMetricsNoStringInclude metrics
summary for last two
day - Y/N. Default N.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Response Code: 200 (Success)

Table 5-77 PageResultItemsWebhookConfig - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-78 WebhookConfig - Object. See list of elements for detail

Element NameRequiredData TypeDescription
credentialNameYesString (100)This feld contains the
Credential name.
credentialTypeYesString (30)This feld contains the
Credential type.
serviceNoString (100)This feld contains the
service name.

Table 5-78 (Cont.) WebhookConfig - Object. See list of elements for detail

Element NameRequiredData TypeDescription
listenerUrlNoString (255)This feld contains the
listener URL.
enabledNoString (1)This feld indicates if
the service is enabled.
Default is ‘Y’.
intervalSecondsNoNumberThis feld contains the
frequency in seconds
webhook will poll for
new events. Default is
900 seconds.
includePayloadNoString (1)This feld indicates if
data should be
included in the
webhook call. Default
is ‘N’.
pageLimitNoNumberThis feld contains the
number of record
within a payload
during pagination and
is used to control the
message size. Default
is 1000.
queryParameterNoStringThis feld contains the
confgured query
parameter (include or
exclude) for this api.
heartbeatIntervalHour
s
NoNumberThis feld frequency in
hours on which
heartbeat will be
pinged to listener.
Default is 6 hours.
sinceTimestampNodateTimeThis feld hold the
confgured since-
timestamp for this API.
statusNoObjectThis node hold the
current status of the
webhook for reference

Table 5-78 (Cont.) WebhookConfig - Object. See list of elements for detail

Element NameRequiredData TypeDescription
metricsNoCollection of ObjectThis will be only
populated if query
parameter
includeMetrics is Y.
This node hold the
summary view of
webhook activities at
day level since
midnight (UTC)
yesterday and can
hold upto two entries -
one for today and one
for yesterday. The
record for today or
yesterday is populated
only if some webhook
or heartbeat activity
happened for the day.

Table 5-79 Status - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nextPollTimeNodateTimeThis feld holds the
timestamp when the
next internal polling to
check for delta change
is due.
nextPollSinceTimesta
mp
NodateTimeThis feld holds the
since-timestamp that
will be used in the
next internal poll. This
feld is updated after
every successful
publish and holds the
pointer of the last
successful publish.
nextPollOffsetKeyNoStringThis feld holds a value
only when multi-page
publish is in progress.
During a multi-page
publish, this helps to
identify the key of the
last record of the last
page published. After
the last page is
published, it is reset to
blank.

Table 5-79 (Cont.) Status - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nextHeartbeatTimeNodateTimeThis feld holds the
timestamp when the
heartbeat is due. One
the heartbeat is due,
before any subsequent
webhook publish, an
heartbeat will be fred.
heartbeatErrorNoStringThis feld will hold the
error message if the
previous heartbeat
was a failure.

Table 5-80 Metrics - Object. See list of elements for detail

Element NameRequiredData TypeDescription
dateNodateTimeThis feld holds either
today or yesterday
date for which the
subsequent metrics
information is
applicable.
countNoNumberThis feld contains the
number of calls
(excluding heartbeat)
made to the listener
for the date
countSuccessNoNumberThis feld contains the
number of successful
calls (excluding
heartbeat) made to the
listener for the date
lastPublishTimeNodateTimeThis feld holds the
timestamp when the
webhook engine
initiated the last
publish for the date.
lastPublishActivityLogNoStringThis feld holds the log
messages when the
webhook engine
initiated the last
publish call for the
date.
countHeartbeatNoNumberThis feld contains the
number of heartbeat
calls made to the
listener for the date
countSuccessHeartbea
t
NoNumberThis feld contains the
number of successful
heartbeat calls made
to the listener for the
date

Table 5-80 (Cont.) Metrics - Object. See list of elements for detail

Element NameRequiredData TypeDescription
lastHeartbeatTimeNodateTimeThis feld holds the
timestamp when the
webhook engine
initiated the last
heartbeat call for the
date.
lastHeartbeatActivityL
og
NoStringThis feld holds the log
messages when the
webhook engine
initiated the last
heartbeat call for the
date.

Table 5-81 LinkItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetches and contains
the offsetkey which
unique identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"credentialName": "APP_DEV1",
"credentialType": "OAUTH",
"service": "foundation/item",
"listenerUrl": "https://apigateway.myretailer.com/webhook/mfcs/item",
"enabled": "Y",
"intervalSeconds": 900,
"includePayload": "N",
"pageLimit": 1000,
"queryParameter": "include=items.item,items.status",
"heartbeatIntervalHours": 6,
"sinceTimestamp": "2001-12-31T23:59:59.000Z",
"status": {
"nextPollTime": "2001-12-31T23:59:59.000Z",
"nextPollSinceTimestamp": "2001-12-31T23:59:59.000Z",
"nextPollOffsetKey": null,
"nextHeartbeatTime": "2001-12-31T23:59:59.000Z",
"heartbeatError": null
},
"metrics": [
{
"date": "2001-12-31T23:59:59.000Z",
"count": 7,
"countSuccess": 6,
"lastPublishTime": "2001-12-31T23:59:59.000Z",
"lastPublishActivityLog": "<Timestamp>: Calling url for payload...",
"countHeartbeat": 3,
"countSuccessHeartbeat": 3,
"lastHeartbeatTime": "2001-12-31T23:59:59.000Z",
"lastHeartbeatActivityLog": "<Timestamp>: Calling url for heartbeat..."
}
]
}
],
"hasMore": true,
"limit": 1,
"count": 1,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?limit=1000",
"rel": "self"
}
]
}

Webhook Configuration Upload Service

Manage Webhook Credential

Functional Area

Administration - Operations
Business Overview

This service maintains credentials for the Webhooks listener and allows for setting up new credentials, along with updating or deleting existing credentials. Credentials must be set up in advance of webhook listener setup. A credential cannot be deleted if it is attached to a listener.

The credentials are securely stored in OCI S3. The supported credentials are Basic Auth, oAuth2 (Client Credentials) and API key (Request Parameter - X-API-Key ). Based on the type of credential, the corresponding field should be provided. In case of oAuth, the URL to retrieve the oAuth token should be allowlisted and should have a publicly trusted SSL/TLS certificate.

Service Type

PUT
ReST URL
MerchIntegrations/services/administration/operations/webhook/credential/manage

Input Payload Details

Table 5-82 Manage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
credentialNameYesString (100)Unique Credential name for storing
credential details for webhook listener
endpoint.
credentialTypeNoString (30)Type of credential supported by listener.
Valid options are OAUTH, BASICAUTH or
APIKEY
usernameNoString (100)Contains the username for basic auth
credential
passwordNoString (100)Contains the password for basic auth
credential
apikeyNoString (2000)Contains apikey. API Key will be passed
in Request Parameter X-API-Key
oauthClientIdNoString (255)Contains the client id for Oauth - Client
Credential authentication
oauthClientSecretNoString (255)Contains the client secret for Oauth -
Client Credential authentication
oauthTokenUrlNoString (255)Contains the oAuth Token URL for Oauth
- Client Credential authentication
oauthScopeNoString (255)Contains the scope for Oauth - Client
Credential authentication. Scope is
optional.
heartbeatIntervalHoursNoNumber (2)Controls the frequency in which
heartbeat will be published to the
listener URL
deleteIndNoString (1)Pass a value of Y to delete the credential.
To delete a credential, none of the
listener should be using this credential.
Supported values as Y or N. The default if
left blank is N.
Sample Input Message
{
  "credentialName": "APP_DEV1",
  "credentialType": "OAUTH",
  "username": "",
  "password": "",
  "apikey": "",
  "oauthClientId": "oracle_mfcs_client_dev1",
  "oauthClientSecret": "6c2c0acb-88a1-4067-865b-5eb75b2989c3",
  "oauthTokenUrl": "https://iam-6c2c0acb.iamprovider.com:443/oauth2/v1/token",
  "oauthScope": "mfcs-webhook-dev1",
  "deleteInd": ""
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS",
  "message": "Create record was successful"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors is present when the input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Manage Webhooks

Functional Area

Administration - Operations

Business Overview

This service is used to register and manage webhook listeners. To register a listener, the credential for the listener should be set up first using the Manage Webhook Credential service.

Webhook Overview

The listener URL should be an allowlisted https ReST endpoint supporting THE POST method and having publicly trusted SSL/TLS certificate. a Webhook can be configured for THE Publish API and THE name of the service should match with the value in THE merchapi_name column from the merchapi_config table. Once a webhook is successfully registered, it is added to the server threadpool after a short interval and, thereafter, runs based on the configured interval.

Three types of publish are available:

  • HEARTBEAT - The frequency (in hours) of this can be defined using the field heartbeatIntervalHours . A ping call is made to the listener endpoint to validate the connectivity, credential, and to ensure that the webhook server is up and running. If the heartbeat call fails, the webhook call with the event or payload is put on hold until the heartbeat connectivity is established. Once the heartbeat connectivity is established, the event or payload publish starts.

  • EVENT - A webhook call of type Event indicates to the listener that there are one or more functional data packets that have been created or updated since the last webhook call, and the listener should poll the Publish API to publish the change. A webhook of type Event is

the default webhook configuration and should be the preferred configuration to keep the data traffic through the webhook to a minimum. If the field includePayload is left blank or is set to N , this indicates that the webhook is configured for event publishing.

  • PAYLOAD - A webhook of type Payload includes the data as part of the webhook publish. The data is published in JSON format and is enclosed in the attribute named payload . To enable payload publish, set the value of includePayload to Y . The payload supports pagination to keep the individual message size in control. Use the field pageLimit to define the number of records included in the call. If pageLimit is not defined, it is set to 1000. For a payload publish, the server posts each subsequent page immediately upon receiving the success response from the client for the previous page.

The processing of a webhook is asynchronous. Using a background micro batch engine, the webhook server checks for new events in merchapi json tables for changes. The frequency at which the server polls the merchapi json table is configured using the field intervalSeconds . Every seconds, the server polls the table to check for new entries and, if there are updates, it makes a webhook call to the listener URL to publish the event or payload depending on the webhook configuration. If there are no new entries, it does not make an empty webhook call.

To keep track of the records that have been published, and have the subsequent webhook publish only include the newer records since the last call, the timestamp of the webhook pool is persisted by the server and is named the since timestamp . When the webhook is registered for the first time, the since timestamp is defaulted to Unix time zero (1970) unless a since timestamp was provided as part of the registration. The server polls the json table to check for newer entries having timestamp greater than since timestamp.

  • For a webhook of type Event, the since timestamp is included in the publish to inform the listener that there are records having a timestamp greater than the since timestamp and they should poll the Publish API using a query parameter of since timestamp .

  • For a webhook of type Payload, the server internally calls the Publish API with the since timestamp and using before as the current server time and the configured pagination limit. The server redirects the response from the Publish API to the webhook listener. Depending on the number of records and the pagination size, more than one call can be made to the listener URL. Once the last page is published, the server replaces the since timestamp with the server time when the first poll is performed. Subsequent polling uses the new since timestamp to check for newer entries.

  • If there are no new entries, the value of since timestamp is not changed and this value can be seen as a the timestamp when the last publish of type Event or Payload was made.

The since timestamp is available as part of webhook configuration and this can be updated for existing webhooks. This can be useful to request a full download or to replay all changes since, for example, last week for data corruption scenarios.

Enable/Disable The flag Enabled takes a value of Y or N , and can be used to activate or deactivate a webhook. If the webhook is disabled, it pauses all polls and even heartbeat calls to the listener. Once the webhook is enabled, it starts polling using the since timestamp of the last publish.

Query Parameter This optional field enables Dynamic Payload Filtering, allowing clients to fetch selective fields or exclude fields based on the listener application’s needs. Several webhook-supported APIs accept a query parameter of include or exclude , with values representing JSON field names using dot notation (for example,

include=items.item,items.status,itemDescription ). When provided, this query parameter is appended to the internal service call URL when fetching the payload. The only supported query parameters through webhooks are include and exclude , and it is recommended to test the query parameter values before configuring them in a webhook.

Update Webhook Configuration

To update the configuration of a webhook listener, include the fields that need to be updated and their values will be replaced. The fields left blank will not be changed. A configuration change can have an impact on the current publish process (multi-page payload publish).

  • Listener URL change will be applied immediately. A change of listener causes a heartbeat to be fired and, once the heartbeat is successful, subsequent calls are published to the new URL. If the change happened in between pagination publishes, the remaining pages are published to the new URL. A listener change is a major change and, if the intention for the new listener URL is to get the entire dataset or to start with a particular date and time, adjust the since timestamp accordingly to get the complete/required payload.

  • A change of credential takes effect immediately. A change of credential causes a heartbeat check to be fired before the next event or payload publish.

  • Since Timestamp change is applied immediately. This will terminate any in-progress pagination call and publish will restart with the new since timestamp.

  • Page limit change takes effect immediately for the subsequent page publish. In case of an in-progress pagination publish, the remaining pages publish happens with the new page limit.

  • Interval second change takes effect a few minutes after the webhook engine syncs up with update configuration.

  • Disable webhook - This takes effect immediately and may pause a pagination call in between. The remaining pagination pages are published when the webhook is enabled. Enabling of the webhook takes few minutes for the server engine to include this webhook in its thread pool.

  • A change of heartbeat interval hour takes effect after the next heartbeat is fired.

  • IncludePayload - This change takes effect immediately and stops any pagination call. It uses the currently active since timestamp to check for changes, unless the since timestamp was also updated as part of the update request.

  • Query Parameter change will take into effect immediately for the subsequent page publish. To remove a previously set query parameter, provide blank spaces.

Delete Webhook

To delete a registered webhook, set the flag deleteInd to Y . That immediately stops subsequent calls and purges all configurations for the webhook.

Service Type

PUT

ReST URL

MerchIntegrations/services/administration/operations/webhooks/manage
Input Payload Details

Table 5-83 Manage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollectionReferences a collection of webhook
of Objectlisteners

Table 5-84 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
serviceYesString (100)Service name for which webhook
listener has to be confgured. The
service name should match with
merchapi_name in merchapi_confg
table. On the api’s having the
json_table column populated are
eligible for webhook.
credentialNameNoString (100)Registered credential name that was
setup using the Manage Webhook
Credential service. For update, this can
be left blank.
listenerUrlNoString (255)A whitelisted listener endpoint which
is running a post service to consume
the webhook call and returns 200 for
success.
includePayloadNoString (1)Indicates if the webhook publish will
contain the data or just the event.
Takes a value of Y or N. A value of
blank is defaulted to N during initail
registration. In case of update of
already registered webhook, leave it
blank to keep the value unchanged.
intervalSecondsNoNumber (6)Defnes the polling seconds for the
webhook server to poll to json table for
new events. This value is in seconds.
pageLimitNoNumber (6)If the webhook is registered to include
payload, this defnes the maximum
number of records in one publish call.
If the number of records to be
published are greater than page limit,
additional pagination call will be made
to publish the entire data set. Default
value is 1000.
sinceTimestampNodate-timeAllows the listener to defne if the
publish should include events that
happens after a particular time. This
also allows for replaying already
published daata/event by setting this to
a earlier time.
enabledNoString (1)Takes a value of Y (default if null) or N.
If the webhook is disabled, it will pause
polling and publish of webhook
(inlcuding heartbeat)
heartbeatIntervalHoursNoNumber (2)Controls the frequency in which
heartbeat will be published to the
listener URL
deleteIndNoString (1)Use this to delete an existing listener
by setting the value as Y. the default if
left blank is N.

Table 5-84 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
queryParameterNoString
(2000)
This feld can be used to apply API-
supported query parameter ofinclude
orexcludewhen an internal service is
invoked to fetch a payload. It is highly
recommended to test the query
parameter by calling the GET APIs to
avoid unexpected errors at runtime. To
remove an earlier provided query
paramter value, submit the value with
an empty space.

Table 5-85 ManageError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
serviceYesString (100)Service name for which the
registration failed
errorMessageYesString
(2000)
Error message
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "service": "foundation/item",
      "credentialName": "APP_DEV1",
      "listenerUrl": "https://apigateway.myretailer.com/webhook/mfcs/item",
      "includePayload": null,
      "intervalSeconds": 900,
      "pageLimit": 1000,
      "sinceTimestamp": "2001-12-31T23:59:59.123Z",
      "enabled": null,
      "heartbeatIntervalHours": 6,
      "deleteInd": null,
      "queryParameter": "include\u003ditems.item,items.status"
    }
  ]
}

Response Code: 200 (Success) Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service. The element businessError will be present if the payload passes schema validation but an exception is caught while processing the business logic.

Table 5-86 ManageError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
serviceYesString (100)Service name for which the
registration failed
errorMessageYesString (2000)Error message
Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    {
      "service": "foundation/items/manage",
      "errorMessage": "Invalid API"
    }
  ]
}

System Options

The following services are included in this functional area:

  • System Options Download Service

    • Get Functional System Options

    • Get Inventory Movement System Options

  • Get Procurement System Options

System Options Download Service

The following services are included in this functional area:

  • Get Functional System Options

  • Get Inventory Movement System Options

  • Get Procurement System Options

Get Functional System Options

Business Overview

Retrieve Merchandising’s Functional Config Options.

Service Type

GET

ReST URL

/Common/FuncSysOps

Input Parameters

N/A

Output

Table 5-87 FunctionalConfigRDO

Parameter NameData Type
importIndString
orgUnitIndString
supplierSitesIndString
contractIndString
elcIndString
JSON Structure:
"{
""links"": [],
""importInd"": ""Y"",
""orgUnitInd"": ""Y"",
""supplierSitesInd"": ""Y"",
""contractInd"": ""Y"",
""elcInd"": ""Y"",
""hyperMediaContent"": {

""linkRDO"": []
}

Table Impact

TABLESELECTINSERTUPDATEDELETE
FUNCTIONAL_CONFIG_OPTIONSYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo
Get Inventory Movement System Options
Business Overview

Retrieve Merchandising’s Inventory Movement Unit Options.

Service Type
GET
ReST URL
/Common/InvMovSysOps
Input Parameters
N/A
Output
Table 5-88 InvMoveUnitOptRDO
Parameter NameData Type
allocMethodString
applyProfPresStockString
autoRcvStoreString
closeOpenShipDaysBigDecimal
costMoneyBigDecimal
costOutStorageBigDecimal
costOutStorageMeasString
costOutStorageUomString
costWhStorageBigDecimal
costWhStorageMeasString
costWhStorageUomString
defaultAllocChrgIndString
defaultOrderType
String
defaultSizeProfleString
deptLevelTransfersString
distributionRuleString
duplicateReceivingIndString
increaseTsfQtyIndString
intercompanyTransferBasisString
invHistLevelString
locActivityIndString
locDlvryIndString
lookAheadDaysBigDecimal
maxWeeksSupplyBigDecimal
ordWorksheetCleanUpDelayBigDecimal
racRtvTsfIndBigDecimal
rejectStoreOrdIndString
replOrderDaysString
rtvNadLeadTimeBigDecimal
rtvUnitCostIndBigDecimal
shipRcvStoreString
shipRcvWhString
storageTypeString
storePackCompRcvIndString
wfDefaultWhString
targetRoiBigDecimal
tsfAutoCloseStoreBigDecimal

Table 5-88 (Cont.) InvMoveUnitOptRDO

Parameter NameData Type
tsfAutoCloseWhString
tsfCloseOverdueString
simForceCloseIndString
tsfForceCloseIndString
tsfOverReceiptIndString
tsfMdStoreToStoreSndRcvString
tsfMdStoreToWhSndRcvString
tsfMdWhToStoreSndRcvString
tsfMdWhToWhSndRcvString
tsfPriceExceedWacIndString
ssAutoCloseDaysString
wsAutoCloseDaysBigDecimal
swAutoCloseDaysBigDecimal
wwAutoCloseDaysBigDecimal
wfOrderLeadDaysBigDecimal
whCrossLinkIndBigDecimal
wrongStReceiptIndString
JSON Structure:
{
    "links": [],
    "allocMethod": "P",
    "applyProfPresStock": "N",
    "autoRcvStore": "Y",
    "closeOpenShipDays": 3,
    "costMoney": 7.5,
    "costOutStorage": 1.5,
    "costOutStorageMeas": "P",
    "costOutStorageUom": null,
    "costWhStorage": 1.5,
    "costWhStorageMeas": "P",
    "costWhStorageUom": null,
    "defaultAllocChrgInd": "Y",
    "defaultOrderType": "WAVE",
    "defaultSizeProfile": "N",
    "deptLevelTransfers": "Y",
    "distributionRule": "PRORAT",
    "duplicateReceivingInd": "N",
    "increaseTsfQtyInd": "N",
    "intercompanyTransferBasis": "T",
    "invHistLevel": "A",
    "locActivityInd": "Y",
    "locDlvryInd": "Y",
    "lookAheadDays": 7,
    "maxScalingIterations": null,
    "maxWeeksSupply": 5,
    "ordWorksheetCleanUpDelay": 1,
    "racRtvTsfInd": "A",
    "rejectStoreOrdInd": "N",
    "replOrderDays": 3,
    "rtvNadLeadTime": 1,
    "rtvUnitCostInd": "A",
    "shipRcvStore": "Y",
    "shipRcvWh": "Y",
    "storageType": "W",
    "storePackCompRcvInd": "Y",
    "wfDefaultWh": 1212,
    "targetRoi": 7,
    "tsfAutoCloseStore": "Y",
    "tsfAutoCloseWh": "Y",
    "tsfCloseOverdue": "Y",
    "simForceCloseInd": "NL",
    "tsfForceCloseInd": "SL",
    "tsfOverReceiptInd": "NL",
    "tsfMdStoreToStoreSndRcv": "S",
    "tsfMdStoreToWhSndRcv": "S",
    "tsfMdWhToStoreSndRcv": "S",
    "tsfMdWhToWhSndRcv": "S",
    "tsfPriceExceedWacInd": "Y",
    "ssAutoCloseDays": 1,
    "wsAutoCloseDays": 1,
    "swAutoCloseDays": 1,
    "wwAutoCloseDays": 1,
    "wfOrderLeadDays": null,
    "whCrossLinkInd": "Y",
    "wrongStReceiptInd": "Y",
    "hyperMediaContent": {
        "linkRDO": []
    }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
INV_MOVE_UNIT_OPTIONSYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo
Get Procurement System Options
Business Overview

Retrieve Merchandising’s Procurement Unit Options.

Service Type

GET

ReST URL

/Common/POSysOps
Input Parameters
N/A
Output
ProcurementUnitOptionsRDO
Parameter NameData Type
backpostRcaRuaIndString
calcNegativeIncomeString
copyPoCurrRateString
costLevelString
creditMemoLevelString
dealAgePriorityString
dealLeadDaysBigDecimal
dealTypePriorityString
deptLevelOrdersString
ediCostOverrideIndString
expiryDelayPreIssueBigDecimal
genConsignmentInvcFreqString
genConInvcItmSupLocIndString
latestShipDaysBigDecimal
ordApprCloseDelayBigDecimal
ordApprAmtCodeString
ordAutoClosePartRcvdIndString
ordPartRcvdCloseDelayBigDecimal
orderBeforeDaysBigDecimal
orderExchIndString
otbSystemIndString
rcvCostAdjTypeString
reclassApprOrderIndString
redistFactorBigDecimal
softContractIndString
wacRecalcAdjIndString
JSON Structure:
{
    "links": [],
    "backpostRcaRuaInd": "N",
    "billToLoc": "1000",
    "calcNegativeIncome": "N",
    "copyPoCurrRate": null,
    "costLevel": "DNN",
    "creditMemoLevel": "D",
    "dealAgePriority": "O",
    "dealLeadDays": 1,
    "dealTypePriority": "P",
    "deptLevelOrders": "N",
    "ediCostOverrideInd": "Y",
    "expiryDelayPreIssue": 30,
    "genConsignmentInvcFreq": "M",
    "genConInvcItmSupLocInd": "I",
    "latestShipDays": 30,
    "ordApprCloseDelay": 1,
    "ordApprAmtCode": "C",
    "ordAutoClosePartRcvdInd": "N",
    "ordPartRcvdCloseDelay": 1,
    "orderBeforeDays": 5,
    "orderExchInd": "N",
    "otbSystemInd": "N",
    "rcvCostAdjType": "F",
    "reclassApprOrderInd": "Y",
    "redistFactor": 2,
    "softContractInd": "Y",
    "wacRecalcAdjInd": "N",
    "hyperMediaContent": {
        "linkRDO": []
    }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
PROCUREMENT_UNIT_OPTIONSYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Cost

The following services are included in this functional area:

  • Average Cost

    • Average Cost Upload Service

      • Update Average Cost
  • Cost Changes

    • Cost Change Upload Service

      • Create Cost Change Effective Immediately

      • Manage Cost Changes

  • Pricing Cost

    • Pricing Cost Download Service

      • Get Pricing Cost

Average Cost

The following services are included in this functional area:

  • Average Cost Upload Service

    • Update Average Cost

Average Cost Upload Service

The following services are included in this functional area:

  • Update Average Cost
Update Average Cost

Functional Area

Cost - Average Cost

Business Overview

This service can be used to update the weighted average cost (WAC) from an external system for one or more item/location combinations. It also creates a transaction data record posting with transaction code 70 for the difference in cost, based on the owned inventory at the location at the time the cost change is applied.

The web service can be called with the following details:

  • Item

  • Location

  • Location type

  • New average cost (must be greater than 0)

Service Type

PUT

ReST URL

MerchIntegrations/services/cost/averageCost/update

Input Payload Details

Table 5-89 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection ofCollection of items and locations for
Objectwhich weight average cost needs to
be updated.

Table 5-90 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)Contains the item number for which
the average cost has to be updated
locationYesNumber (10)Store or virtual warehouse location
number.
locationTypeYesString (1)Location Type. Valid values are ‘S’
(store) and ‘W’ (warehouse).

Table 5-90 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
averageCostYesNumber
(20,4)
New average cost.
Sample Input Message
{
  "items": [
    {
      "item": "101450060",
      "location": 6000,
      "locationType": "S",
      "averageCost": 19.50
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message

{ "status": "SUCCESS", "message": "Service call is successful" } Response Code: 400 (Error) In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message

{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Cost Changes

The following services are included in this functional area:

  • Cost Change Upload Service

    • Create Cost Change Effective Immediately

    • Manage Cost Changes

Cost Change Upload Service

The following services are included in this functional area:

  • Create Cost Change Effective Immediately

  • Manage Cost Changes

Create Cost Change Effective Immediately

Functional Area

Cost - Cost Changes

Business Overview

This service allows external systems to update unit costs within Merchandising. All cost changes that are sent through this service are executed immediately. This service creates both the cost change events with an effective date of the current date, as well as updates unit costs for item/locations that already exist in Merchandising. It does not create or delete item/location relationships in Merchandising. Cost changes can be performed at the item level, or at the following levels of the organization hierarchy - chain, area, region, district or store. Unit costs are updated for all stores within the location group. Warehouses are only impacted by cost changes applied at the warehouse level, since they are not part of the organization hierarchy. Since the user has the flexibility to have child items with the same or different purchase type compared to the parent item, any cost change created at the parent item level will impact only those child items having the same ownership as the parent. Cost changes can be created for individual child items as well.

The service takes in a collection of cost changes and will return success and failure through the service response object. This service validates that all the required fields are provided and also checks the supplier’s currency and the item status. In case differentiator IDs are passed in the message, it verifies that they are valid for the provided item. The service also retrieves the following:

  • Transaction level items, if the passed in item is an item parent.

  • All locations based on the passed in hierarchy type and value, if provided.

  • All item/location combinations where the passed in supplier/country is the primary supplier/ country at an item location.

  • All orderable buyer packs that the passed-in item or its children, if above transaction level.

  • All item/locations on approved (and worksheet) order, if the recalculate order indicator is set to Yes.

This service performs the following actions:

  • Creates a cost change event in the ‘Executed’ status, with the current date set as the effective date.

  • Updates the unit cost in Merchandising for all item/supplier/country and item/supplier/ country/locations based on the information provided.

  • Creates price history records for all item/locations that get updated as part of the cost change.

  • If the recalculate order indicator is set to Yes, it updates all relevant order/item/locations unit cost in Merchandising.

It is important to note that cost changes sent through this service do not include estimated landed costs. The cost updated here is the default purchase cost, before any deals, that will be used for purchase orders created in Merchandising, similar to cost changes initiated in Merchandising.

Service Type

POST
ReST URL
MerchIntegrations/services/cost/costChange/immediate/create
Availability During Nightly Batch Cycle

This service will not be available during total duration of nightly batch run cycle.

Input Payload Details

Table 5-91 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection ofIt’s a referenced element. For detailed
Objectdescription, please refer referenced
element doc.

Table 5-92 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The item to which the cost change
applies. It can be a parent item, but
its item level cannot be greater than
its transaction level. This cannot be a
buyer pack.
supplierYesNumber (10)The ID of the supplier that sources
the items the cost change affects. This
value must be predefned on the SUPS
table. This can be a primary or non-
primary supplier.
originCountryYesString (3)The identifer of the origin country of
the item supplier to which the cost
change will apply. This value must be
predefned on the COUNTRIES table.
This can be the primary or a non-
primary country.

Table 5-92 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diffIdNoString (10)The identifer for a differentiator.
This can be used with a parent or
grandparent item. The cost change
will explode to all the parent’s
transaction level items with the
differentiator. This value must be
predefned on the DIFF_IDS table.
unitCostYesNumber
(20,4)
The new unit cost of the item in the
currency specifed on the message.
Tables item_supp_country_loc,
item_loc_soh, and ordloc will also be
updated with this value, depending
on the values in tags hier_level and
hier_value.
recalculateOrderIndYesString (1)This feld will indicate if orders in
approved status for items on the cost
change will be recalculated with the
new cost. Valid values will be Y (yes)
and N (no).
currencyCodeYesString (3)The currency code of the unit cost.
This value must be predefned on the
currencies table and must be the
currency of the supplier.
hierarchyLevelNoString (2)The hierarchy level of the hierarchy
value. This feld will indicate the level
of the organizational hierarchy to
which the cost change applies. Valid
values are CH (chain), AR (area), RE
(region), DI (district), S (store), W
(warehouse).
detailsNoCollection of
Object
References a collection of hierarchy
details
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes. This collection is
treated as a single group and should
include all named fexible attributes
for the business entity. If any
confgured named attribute is
missing from the input collection, its
value will be set to NULL
purchaseRateNoNumber
(12,4)
This column contains the percentage
of the retail price which will
determine the cost paid to the
supplier for a consignment or
concession item.

Table 5-93 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hierarchyValueYesNumber (10)The ID of the specifed hierarchy level
which encompasses the locations
affected by the cost change.

Table 5-94 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "items": [
    {
      "item": "100900006",
      "supplier": 2400,
      "originCountry": "US",
      "diffId": "String",
      "unitCost": 9.65,
      "recalculateOrderInd": "N",
      "currencyCode": "USD",
      "hierarchyLevel": "S",
      "details": [
        {
          "hierarchyValue": 1521
        }
      ],
      "customFlexAttribute": [
        {
          "name": "REVIEW_DATE",
          "value": null,
          "valueDate": "2001-12-31"
        }
      ],
      "purchaseRate": 18.00
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}
Manage Cost Changes

Functional Area

Cost – Cost Change

Business Overview

This service is used by an external source, usually a supplier, to create and maintain futuredated cost changes in Merchandising. The service accepts a collection of cost changes and returns success or failure through the service response object. This service uses the cost change induction staging tables, populates those tables, then invokes the existing cost change induction API that validates the data and populates the base tables.

Service Type

Post

ReST URL

RmsRestServices/services/private/costChange

Input Parameters – Cost Change Header Record

Parameter
Name
Required
(For Create)
Required
(For Update)
Required
(For Delete)
Data TypeDescription
actionNoNoNostringAction type for Cost
Change. Valid values are
NEW(for create),MOD(for
update) orDEL(for
delete)
Parameter
Name
Required
(For Create)
Required
(For Update)
Required
(For Delete)
Data TypeDescription
costChangeYesYesYesnumberHolds the ID that
uniquely identifes the
cost change. The ID
should not overlap with
cost changes created
through other modes
such as induction or the
Merchandising UI.
costChangeDes
c
YesYesNostringCost change description.
This along with the cost
change number
identifes the cost
change for modifcation
and deletion.
reasonYesYesNostringIndicates the reason
code for the cost change.
Valid values for this
input can be found in
theCOST_CHG_REASON
table.
activeDateYesYesNodateIndicates the date on
which the cost change
will become active. The
date format should be
YYYY-MM-DD
statusYesYesNostringContains the status of
the cost change.
Valid values areW=
Worksheet,D= Deleted
(to be deleted),C=
Canceled,A= Approved,
E= Extracted,R=
Rejected,S= Submitted
costChangeOrig
in
YesYesNostringContains a code that
identifes the origin of
the cost change. This
code is used to
determine whether the
event was created by
supplier or by SKU. Cost
events with a supplier
origin will have multiple
detail records all having
the same supplier. Cost
events with a SKU origin
will have multiple detail
records that may have
multiple SKUs and
multiple suppliers.
Valid Values areSUP- By
Supplier,SKU- By SKU
Parameter
Name
Required
(For Create)
Required
(For Update)
Required
(For Delete)
Data TypeDescription
approvalIdNoNoNostringContains the user ID
who last approved the
cost change.
suppItemDetail
s
Child Node – cost change
detail record. Either this
node is populated or the
detail location node.
suppItemLocDe
tails
Child Node – cost change
detail location record.
Either this node or the
detail node is populated.
customFlexAttr
ibute
Child Node – custom fex
attributes

Input Parameters – Cost Change Detail Record

Parameter
Name
Required
(For Create)
Required
(For Update)
Required
(For Delete)
Data TypeDescription
actionNoNoNostringHolds action type.
Valid values areNEW
(for create),MOD(for
update) orDEL(for
delete)
supplierYesYesYesnumberContains the number
that identifes the
supplier associated
with the cost change.
originCountryIdYesYesYesstringThe country where the
item was
manufactured or
signifcantly altered.
itemYesYesYesstringUnique alphanumeric
value that identifes
the item.
bracketValue1NoYesYesnumberThe values are the
various levels in the
vendor price list
whereby costing of the
items will be affected
as the levels are
achieved on the
purchase orders.
costChangeTypeYesYesNonumberDescribes the type of
cost change.
Valid values areA-
Amount,F- Fixed orP
- Percentage.
costChangeValu
e
YesYesNonumberHolds the value of cost
change
Parameter
Name
Required
(For Create)
Required
(For Update)
Required
(For Delete)
Data TypeDescription
recalcOrdIndNoYesNostringThis feld indicates
whether or not
approved order costs
should be re-
calculated when a
supplier cost has
changed. Default value
for this input is No.
Valid values areY- Yes,
N- No
defaultBracketI
nd
NoNoNostringThis feld contains the
value that will control
which cost is the base
cost for processing
throughout the system.
Each bracket group
(either by supplier,
supplier/department,
supplier/department/
location, supplier/
location) must have
one bracket defned as
the default bracket.
calculationBasisNoNoNostringThis indicates whether
the cost for the
consignment/
concession item will
be managed either
based on cost per unit
or as a percentage of
retail.
Valid values areC-
Cost per Unit,P-
Purchase Rate.
purchaseRateNoNoNonumberThis column contains
the percentage of the
retail price which will
determine the cost
paid to the supplier for
a consignment or
concession item.

Input Parameters – Cost Change Detail Location Record

Parameter
Name
Required
(For Create)
Required
(For Update)
Required
(For Delete)
Data TypeDescription
actionNoNoNostringHolds action type. Valid
values areNEW(for
create),MOD(for update)
orDEL(for delete)
Parameter
Name
Required
(For Create)
Required
(For Update)
Required
(For Delete)
Data TypeDescription
supplierYesYesYesnumberContains the number
that identifes the
supplier associated with
the cost change.
originCountryI
d
YesYesYesstringThe country where the
item was manufactured
or signifcantly altered.
itemYesYesYesstringUnique alphanumeric
value that identifes the
item.
locTypeYesYesYesstringContains the type of the
location. Valid values are
StoreandWarehouse.
locYesYesYesnumberNumber of the location
the cost change will
occur at. This can
represent a store or a
warehouse. Cost changes
will be managed and
stored at the physical
warehouse level since
the unit cost must
remain consistent across
all virtual warehouses
within the same physical
warehouse. Thesccext
batch program will
handle exploding the
cost change down to all
virtual warehouses for
the inputted physical
warehouse.
bracketValue1NoNoNonumberThe values are the
various levels in the
vendors price list
whereby costing of the
items will be affected as
the levels are achieved
on purchase orders.
costChangeTyp
e
YesYesNostringDescribes the type of
cost change
costChangeVal
ue
YesYesNonumberHolds the value of the
cost change
recalcOrdIndNoYesNostringThis feld indicates
whether or not
approved order costs
should be re-calculated
when a supplier cost has
changed. Default value
for this input is No. Valid
values areY- Yes,N- No
Parameter
Name
Required
(For Create)
Required
(For Update)
Required
(For Delete)
Data TypeDescription
defaultBracketI
nd
NoNoNostringThis feld contains the
value that will control
which cost is the base
cost for processing
throughout the system.
Each bracket group
(either by supplier,
supplier/department,
supplier/department/
location, supplier/
location) must have one
bracket defned as the
default bracket.
calculationBasi
s
NoNoNostringThe ID of the user who
last updated this record.
purchaseRateNoNoNonumberThe date and time when
this record was last
updated.

Input Parameters – Custom Flex Attribute Record

Parameter NameRequired
(For Create)
Required
(For Update)
Required
(For Delete)
Data
Type
Description
actionNoNoNAstringHolds action type. Valid
values areNEW(for
create),MOD(for update)
orDEL(for delete)
cfaNameYesYesNAstring
cfaValueNoNoNAstring
cfaValueDateNoNoNAdate
Example JSON input:
[
  {
    "action": "NEW",
    "costChange": 123412,
    "costChangeDesc": "Sample Cost Change",
    "reason": 6,
    "activeDate": "2022-04-18",
    "status": "A",
    "costChangeOrigin": "SKU",
    "approvalId": "SomeUser",
    "suppItemDetails": [
      {
        "action": "NEW",
        "supplier": 60000,
        "originCountryId": "US",
        "item": "123412312",
        "bracketValue1": 0,
        "costChangeType": "F",
        "costChangeValue": 19,
        "recalcOrdInd": "N",
        "defaultBracketInd": "",
        "calculationBasis": "C",
        "purchaseRate": 0
      }
    ],
    "suppItemLocDetails": [
      {
        "action": "NEW",
        "supplier": 30201,
        "originCountryId": "US",
        "item": "103500024",
        "locType": "S",
        "loc": 1521,
        "bracketValue1": 0,
        "costChangeType": "F",
        "costChangeValue": 19,
        "recalcOrdInd": "N",
        "defaultBracketInd": "",
        "calculationBasis": "",
        "purchaseRate": null
      }
    ],
    "customFlexAttribute": [
      {
        "action": "NEW",
        "cfaName": "string",
        "cfaValue": "string",
        "cfaValueDate": "2022-04-18"
      }
    ]
  }
]

Output – Cost Change Response Object

AttributeDatatypeDescription
messagestringIndicates processing outcome and the
message is defned by cost type IIPS.
Default confgured values are “Processed
Successfully”, “Processed with errors” or
“Processed with warnings”
errorsChild Node – This will be empty when all
the records got successfully processed. In
case of multiple cost change request in
the input and there are one/multiple/all
failures, the error/warning reasons for
each of the Non-successful cost change
request will be captured here.

Output – Cost Change Response Record

AttributeDatatypeDescription
costChangenumberContains the number that uniquely
identifes the cost change.
feldstringThis will contain the feld in error.
itemstringUnique alphanumeric value that
identifes the item.
suppliernumberContains the number that identifes the
supplier associated with the cost change.
originCountryIdstringThe country where the item was
manufactured or signifcantly altered.
locnumberNumber of the location the cost change
will occur at.
locTypestringContains the type of the location.
errorMessagestringContains the error message
Example JSON Output:
{
  "message": "Processed Successfully",
  "errors": [
    {
      "costChange": 123123,
      "field": "ACTIVE_DATE",
      "item": "123412312",
      "supplier": 60000,
      "originCountryId": "string",
      "loc": 0,
      "locType": "string",
      "errorMessage": "Invalid Active Date."
    }
  ]
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
SVC_COST_SUSP_SUP_HEADYesYesNoYes
SVC_COST_SUSP_SUP_DETAILYesYesNoYes
SVC_COST_SUSP_SUP_DETAIL_LOCYesYesNoYes
CORESVC_COSTCHG_ERRYesYesNoYes
SVC_PROCESS_TRACKERYesYesNoYes
SVC_CFA_EXTYesYesNoYes
COST_SUSP_SUP_HEADYesYesYesYes
COST_SUSP_SUP_DETAILYesYesYesYes
COST_SUSP_SUP_DETAIL_LOCYesYesYesYes
COST_CHANGE_TEMPYesYesYesYes
COST_CHANGE_LOC_TEMPYesYesYesYes
TABLESELECTINSERTUPDATEDELETE
COST_SUSP_SUP_HEAD_CFA_EXTYesYesNoYes

Pricing Cost

The following services are included in this functional area:

  • Pricing Cost Download Service

    • Get Pricing Cost

Pricing Cost Download Service

The following services are included in this functional area:

  • Get Pricing Cost
Get Pricing Cost

Functional Area

Cost - Pricing Cost

Business Overview

This web service is used to provide pricing cost information to external systems. This information is assumed to be primarily used by Order Management System (OMS), which manages franchise customer orders and needs visibility to cost information as part of the negotiation process for margin visibility.

Pricing cost for an item at an owned location is the unit cost for the primary supplier/country, less off invoice deals, plus estimated landed costs. Pricing cost for an item at a customer (franchise) location is the unit cost for the costing location, less any deals passed through, plus estimated landed costs (based on system option), plus the franchise cost template details. This service supports providing cost information for an item/location or item/supplier/location.

The following validations are carried out for this service -

  • Only approved, transaction level items are valid.

  • The location must be a company store or a physical warehouse that is customer orderable. For a physical warehouse, it must also include the channel ID that should be used.

  • For physical warehouses, the cost returned will be for the virtual warehouse that matches the channel ID that is provided in the input. If there is no virtual warehouse that matches that channel in the physical warehouse, then the next best match will be determined based on channel type and the primary warehouse and protected flags on the virtual warehouses in the physical warehouse.

Service Type

POST
ReST URL
MerchIntegrations/services/cost/pricingCost/get

Input Payload Details

Table 5-95 Get - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection ofIt’s a referenced element. For detailed
Objectdescription, please refer referenced
element doc.

Table 5-96 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)Contains the Merchandising item
number that uniquely identifes the
item. This is required input for the
Pricing Cost Service
supplierNoNumber (10)Contains the Merchandising Supplier
number for retrieving the Pricing
Cost
supplierCountryNoString (3)Contains the country, supplier
belongs to for which the Pricing Cost
needs to be retrieved.
fulfllLocationYesNumber (10)Contains the location number. This is
required input for the Pricing Cost
Service.
locationTypeYesString (1)Type of item inventory location. Valid
values are ‘S’ (store) and ‘W’
(warehouse).
channelIdNoNumber (4)Only used when a physical WH is
passed. If a channel is passed the
results will be limited by the passed
in channel.
activeDateNodateContains the active date for which the
pricing cost needs to be retrieved.
Sample Input Message
{
  "items": [
    {
      "item": "100100068",
      "supplier": 2400,
      "supplierCountry": "US",
      "fulfillLocation": 1141,
      "locationType": "S",
      "channelId": 1,
      "activeDate": "2001-12-31"
    }
  ]
}

Response Code: 200 (Success)

Table 5-97 GetResponse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection ofIt’s a referenced element. For detailed
Objectdescription, please refer referenced
element doc.

Table 5-98 GetResponse.Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)Contains the Merchandising item
number that uniquely identifes the
item. This is required input for the
Pricing Cost Service
supplierNoNumber (10)Contains the Merchandising Supplier
number for retrieving the Pricing
Cost.
supplierCountryNoString (3)Contains the country, supplier
belongs to for which the Pricing Cost
needs to be retrieved.
fulfllLocationYesNumber (10)Contains the location number. This is
required input for the Pricing Cost
Service.
locationTypeYesString (1)Type of item inventory location. Valid
values are ‘S’ (store) and ‘W’
(warehouse).
channelIdNoNumber (4)Only used when a physical WH is
passed. If a channel is passed the
results will be limited by the passed
in channel.
activeDateNodateContains the active date for which the
pricing cost needs to be retrieved.
pricingCostYesNumber
(20,4)
Contains the retrieved pricing cost
from the future cost table for the
passed parameters.
Sample Response Message
{
  "items": [
    {
      "item": "100100076",
      "supplier": 6000,
      "supplierCountry": "US",
      "fulfillLocation": 6000,
      "locationType": "S",
      "channelId": 1,
      "activeDate": "2001-12-31",
      "pricingCost": 9.65
    }
  ]
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Customer Orders

The following services are included in this functional area:

  • Customer Order Available Inventory Download Service

    • Get Available Inventory for Customer Orderable Items
  • Customer Order Inventory Backorder Upload Service

    • Create Inventory Backorder
  • Customer Order Item Substitution Upload Service

    • Create Customer Order Item Substitution
  • Customer Order Upload Service

    • Cancel Fulfillment Order

    • Create Fulfillment Order

Customer Order Available Inventory Download Service

The following services are included in this functional area:

  • Get Available Inventory for Customer Orderable Items

Get Available Inventory for Customer Orderable Items

Functional Area

Customer Orders

Business Overview

This real-time inventory availability lookup facility can be used by external systems, such as an on-line order capture system (OOC) or order management system (OMS), to retrieve item/ location available inventory based on Merchandising’s current view of inventory. Merchandising will provide this information for any warehouse or store which is valid for customer order sourcing/fulfillment.

The Available inventory is calculated as Stock on Hand - (Transfer Reserved Quantity + Customer Reserved Quantity + RTV Quantity + Non-sellable Quantity)

Assumptions:

  • This inventory detail lookup is only for customer orderable inventory - sellable items at customer order locations. If a physical warehouse and channel are passed into the service, then only the inventory for the customer orderable virtual warehouses for that physical warehouse/channel are returned.

  • If the inventory lookup is for a pack item at store, the pack inventory is estimated based on the maximum number of complete packs which can be created by using the available inventory of its components.

Service Type

POST

ReST URL
MerchIntegrations/services/customerOrders/availableInventory/get
Input Payload Details

Get - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesArray of
String
Contains the transaction-level item
numbers for which the inventory
must be checked.
inventoryLocationsYesCollection of
Object
Contains the locations at which to
check inventory.

InventoryLocations - Object. See list of elements for detail

Element NameRequiredData TypeDescription
locationYesNumber (10)The location at which to check item
inventory.
locationTypeYesString (1)Type of item inventory location. Valid
values areS(store) andW
(warehouse).
channelIdNoNumber (4)Only used when a physical warehouse
is passed. If a channel is passed the
results will be limited by the passed-in
channel.
Sample Input Message
{
  "items": [
    "String"
  ],
  "inventoryLocations": [
    {
      "location": 6000,
      "locationType": "S",
      "channelId": 1
    }
  ]
}
Response Code: 200 (Success)

GetResponse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection ofA collection of items and locations for
Objectwhich inventory must be retrieved.

Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The item identifer.
locationYesNumber (10)Location where the item is to be found.
This feld may contain a store or a
warehouse.
locationTypeYesString (1)Type of location. Valid values areS
(store) andW(warehouse).
channelIdNoNumber (4)Channel identifer of the warehouse. If
the location is a store,channelIdwill
be blank. If the location is a warehouse,
this is optional, based on the input
criteria.
availableQuantityYesNumber (12,4)Contains the available quantity for the
item/location in the standard unit of
measure.
uomYesString (4)Contains the unit of measure for
available quantity.
packCalculateIndNoString (1)Valid for pack item only. Indicates
whether the pack item’s available
quantity is actual a held value (N) or
calculated using pack component (Y).
Calculated pack quantity should be
treated as an estimated value.
Sample Response Message
{
  "items": [
    {
      "item": "100100076",
      "location": 6000,
      "locationType": "S",
      "channelId": 1,
      "availableQuantity": 3,
      "uom": "EA",
      "packCalculateInd": "Y"
    }
  ]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors is present when the input payload or input parameters do not match the schema definition for this service. The element businessError is present when the payload passes the schema validation but an exception is caught while processing the business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Customer Order Inventory Backorder Upload Service

The following services are included in this functional area:

• Create Inventory Backorder

Create Inventory Backorder

Functional Area

Customer Orders

Business Overview

Retailers selling through e-commerce channels often take customer orders even if inventory is not available immediately, with the expectation of future inventory being available to fill the order. If an order is captured against future inventory by the Order Management System (OMS), then a backorder message is sent to Merchandising through this service. The location which will be back ordered is decided by OMS.

This web service updates the backorder quantity in Merchandising - increasing when the backorder is taken and decreasing when the backorder is released for fulfillment or cancellation. Backorders can be taken against both stores and warehouses.

Service Type

POST

ReST URL
MerchIntegrations/services/customerOrders/inventoryBackorder/create
Input Payload Details

Table 5-99 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsNoCollection of
Object
A collection of items for which
backorder quantity has to be
updated.

Table 5-100 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The item identifer. An item does not
need to have an open purchase order
in order to increase backorder
quantity. Catchweight,
Transformable, Consignment,
Concession and Deposit container
items are not supported for
backorder requests. The item should
not be in discontinued status at the
specifed location.
locationTypeYesString (1)Type of location. Valid values are ‘S’
(store) and ‘W’ (warehouse).
locationYesNumber (10)Location where the item back order
inventory has to be updated. This
feld may contain a store or a physical
warehouse.
channelIdNoNumber (4)Channel id for the Physical
Warehouse.

Table 5-100 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
backorderQuantityYesNumber
(12,4)
Contains the Back Order quantity to
be adjusted for the item/location.
uomNoString (4)Contains the unit of measure for Back
Order quantity. If not defned, back
orderable quantity is assumed to be
in standard unit of measure.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100050005",
      "locationType": "S",
      "location": 1521,
      "channelId": 1,
      "backorderQuantity": 3,
      "uom": "EA"
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Customer Order Item Substitution Upload Service

The following services are included in this functional area:

  • Create Customer Order Item Substitution

Create Customer Order Item Substitution

Functional Area

Customer Orders

Business Overview

When a store is picking inventory in order to fulfill a customer order, if the inventory of the item ordered does not meet the required quality standards or is unavailable and the order indicates that substitutions are allowed for that item, the store may choose to fulfill the order with a substitute item. If that occurs, the Store Inventory Operations Cloud Services (SIOCS) has the ability to substitute items on the customer order with another predefined substitute item. In such cases, it will notify the Order Management System (OMS) via the Stock Order Status message that an alternative item has been pushed into the order.

Based on this notification, OMS updates the customer order and notifies Merchandising with the same details received from SIOCS using this service. Merchandising will then update the inventory and customer order details by removing the reservation for the original item and adding a reservation for the new item. It will also update the cancelled quantity for the original item on the order and add the details for the substituted item, with a cross reference to the original item.

Service Type

POST

ReST URL
MerchIntegrations/services/customerOrders/itemSubstitution/create
Input Payload Details

Table 5-101 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsNoCollection ofA collection of CustOrdSubDesc
Objectobjects.

Table 5-102 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
customerOrderNoYesString (48)Holds the master customer order
number from OMS.
fulfllOrderNoYesString (48)Unique number from OMS related to
the fulfllment details.
locationYesNumber (10)Indicates the store number associated
with the customer order. Should be a
valid store location number as item
substitution is only supported for
Store location.
itemYesString (25)Contains the item number for which
substitute item is used.
quantityYesNumber
(12,4)
Contains the revised order quantity
of the original item.
uomYesString (4)Contains the unit of measure for
original item order quantity. This will
be the standard uom of the item.
detailsYesCollection of
Object
Contains the substitute item details.
itemLineNoNoNumber (10)Indicates the detail item line number
on the order being substituted for.

Table 5-103 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
substituteItemYesString (25)Contains the substitute item number.
Catchweight, Transformable,
Consignment, Concession and Deposit
container items are not supported for
customer order item substitution.
substituteItemQuantityYesNumber
(12,4)
Contains the order quantity for the
substitute item.
substituteItemQuantityUomYesString (4)Contains the unit of measure for the
substitute item order quantity. This
will be the standard uom for the
substitute item.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "customerOrderNo": "180008",
      "fulfillOrderNo": "180008",
      "location": 1311,
      "item": "101550001",
      "quantity": 3,
      "uom": "EA",
      "details": [
        {
          "substituteItem": "100000198",
          "substituteItemQuantity": 3,
          "substituteItemQuantityUom": "EA"
        }
      ],
      "itemLineNo": 1
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Customer Order Upload Service

The following services are included in this functional area:

  • Cancel Fulfillment Order

  • Create Fulfillment Order

Cancel Fulfillment Order

Functional Area
Customer Orders
Business Overview

This service can be used to cancel an existing Customer Order or Transfer within Merchandising based on cancellation requests from an external Order Management System.

Service Type

PUT

ReST URL
MerchIntegrations/services/customerOrders/fulfillmentOrder/cancel
Input Payload Details

Table 5-104 Cancel - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection ofIt’s a referenced element. For detailed
Objectdescription, please refer referenced
element doc.

Table 5-105 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
customerOrderNoYesString (48)Holds the master customer order
number from OMS.
fulfllOrderNoYesString (48)Unique number from OMS related to
the fulfllment details. One or more
fulfllment orders could relate back to
a single customer order in OMS.
sourceLocationTypeNoString (2)This would be either ‘SU’ for supplier,
‘ST’ for store, or ‘WH’ for warehouse.
This would only be populated for
vendor, warehouse or multi-site
fulfllment orders.
sourceLocationNoNumber (10)Indicates the supplier, store or
warehouse number associated with
sourcing the customer order. Only
populated for vendor, warehouse or
multi-site fulfllment orders.
fulfllLocationTypeNoString (1)This would be either ‘S’ (for physical
store) or ‘V’ (for virtual store).

Table 5-105 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fulfllLocationYesNumber (10)Indicates the store or warehouse
number associated with fulflling the
customer order. For this release, this
should always be populated with a
virtual or physical store number.
detailsYesCollection of
Object
Indicates the customer order
fulfllment cancellation detail.

Table 5-106 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)Indicates the item ordered by the
customer.
referenceItemNoString (25)Indicates the reference item ordered
by the customer. Used only if a
specifc UPC is ordered. This is
supported for vendor drop-ships
orders only as we don’t support
transfer requests for a specifc
reference item.
cancelQuantityInSuomYesNumber
(12,4)
Indicates the quantity that should be
cancelled from the order in item’s
standard unit of measure.
standardUomNoString (4)Indicates item’s standard unit of
measure.
transactionUomNoString (4)Indicates the original transaction unit
of measure the order is placed in.
itemLineNoNoNumber (10)Indicates the detail item line number
on the order.
Sample Input Message
{
  "items": [
    {
      "customerOrderNo": "123124",
      "fulfillOrderNo": "123124",
      "sourceLocationType": "SU",
      "sourceLocation": 2400,
      "fulfillLocationType": "S",
      "fulfillLocation": 1521,
      "details": [
        {
          "item": "100100068",
          "referenceItem": "String",
          "cancelQuantityInSuom": 3,
          "standardUom": "EA",
          "transactionUom": "EA",
          "itemLineNo": 1
        }
      ]
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Create Fulfillment Order

Functional Area
Customer Orders
Business Overview

This service is used to process Customer Order Fulfillment requests from an external order management system (OMS). If the system option OMS_IND = ‘Y’, then Merchandising expects to receive customer orders through this API. If the system option PERSIST_CUSTOMER_DATA_IND = ‘N’, personal information will not be stored in the customer order table in Merchandising.

The confirmation messages will be sent in a collection as part of the response object.

  • Accepts a collection of fulfillment orders as input. If one order fails, the entire service call fails, and no orders will be created.

  • Returns Failure status as part of the response object in the web service call if customer orders are not created due to validation errors.

  • Returns Success status and a confirmation message as part of the response object of type:

    • X if customer orders are not created due to lack of inventory

    • P if customer orders are partially created due to insufficient inventory

    • C if customer orders are completely created, when sufficient inventory is available.

    • R if inventory reservations are created.

  • A confirmation type of C and P will be accompanied by a confirmation number, which is the transfer or purchase order number created.

The Customer Order Fulfillment message staged will go through a process of validation. Records that pass validation will create new customer order records. If any validation error occurs, transaction will be rolled back, and no customer orders will be created.

There are two scenarios where a customer order fulfillment request cannot be created in Merchandising:

1. Due to data validation errors (e.g., invalid item).

2. Due to ‘No Inventory’ - There is not enough inventory available at the source location or item is not ranged or inactive at the source location, or item is not supplied by the supplier (in a PO scenario).

Notes:

1. Non-stockholding franchise stores cannot part of a fulfillment order, either as a sourcing location or as a fulfillment location.

2. Catch weight and transformable sellable items are not supported in this integration. To sell items that can vary by weight, like bananas through online channels, setup should be done as a regular (non-catch weight) item with a unit cost and standard UOM defined in items of eaches.

3. It is assumed that customer orders will be captured in the selling UOM in OMS, but that all transactions will be communicated to Merchandising in standard UOM.

4. If the same customer order fulfillment request is sent for a different item or for an existing item but with a different item line number, the existing PO or transfer will be updated.

The Customer Order Fulfillment messages contain information such as delivery type, source type and destination type. Based on these, the system will proceed to create a Purchase Order, Transfer or Inventory Reservation.

Service Type
POST
ReST URL
MerchIntegrations/services/customerOrders/fulfillmentOrder/create
Input Payload Details

Table 5-107 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection ofIt’s a referenced element. For detailed
Objectdescription, please refer referenced
element doc.

Table 5-108 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
customerOrderNoYesString (48)Holds the master customer order
number from OMS.
fulfllOrderNoYesString (48)Unique number from OMS related to
the fulfllment details. One or more
fulfllment orders could relate back to
a single customer order in OMS.
sourceLocationTypeNoString (2)This would be either ‘SU’ for supplier,
‘ST’ for store, or ‘WH’ for warehouse.
This would only be populated for
vendor, warehouse or multi-site
fulfllment orders.
sourceLocationNoNumber (10)Indicates the supplier, store or
warehouse number associated with
sourcing the customer order. Only
populated for vendor, warehouse or
multi-site fulfllment orders.
fulfllLocationTypeNoString (1)This would be either ‘S’ (for physical
store) or ‘V’ (for virtual store).
fulfllLocationYesNumber (10)Indicates the store or warehouse
number associated with fulflling the
customer order. For this release, this
should always be populated with a
virtual or physical store number.
partialDeliveryIndYesString (1)Indicates if the order can be picked
and shipped partially (‘N’) or if it
should be shipped only when
complete (‘Y’).
deliveryTypeNoString (1)Indicates the fulfllment method -
ship to customer or store pickup.
Expected values are ‘S’ (ship direct)
and ‘C’ (customer pickup).
carrierCodeNoString (4)Indicates the carrier the order is to be
shipped with, if specifed on the
order.
carrierServiceCodeNoString (6)Indicates the method that was
selected for shipping by the customer
placing the order (e. g. Standard
Shipping, Overnight, etc. ).

Table 5-108 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
consumerDeliveryDateYesdateIndicates the desired date the
delivery is required by the customer.
This will be the GMT time.
consumerDeliveryTimeNodate-timeIndicates the desired time the
delivery is required by the customer.
This will be the GMT time.
deliveryChargesNoNumber
(20,4)
Contains the delivery charges on drop
ship. Mostly relevant for Brazil.
deliveryChargesCurrencyNoString (3)Contains the currency of the delivery
charges.
commentsNoString (2000)Any comments sent by OMS about the
order.
customerDetailsNoRecordReferenced object for customer
information related to the order.
detailsYesCollection of
Object
References a collection of customer
order fulfllment details.
orderPlacedStoreNoNumber (10)Indicates the store number associated
with the location that the customer
order was placed. For on-line orders
this will contain the virtual store
number associated with the on-line
store. For orders captured in a
physical store this will contain the
store number for the physical store.

Table 5-109 CustomerDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
customerNoNoString (14)Indicates the number that uniquely
identifes the customer in OMS.
deliverFirstNameNoString (120)Contains the frst name for the
delivery address on the order.
deliverPhoneticFirstNoString (120)Contains the phonetic frst name for
the delivery address on the order.
deliverLastNameNoString (120)Contains the last name for the
delivery address on the order.
deliverPhoneticLastNoString (120)Contains the phonetic last name for
the delivery address on the order.
deliverPreferredNameNoString (120)Contains the preferred name for the
delivery address on the order.
deliverCompanyNameNoString (120)Contains the company name for the
delivery address on the order.
deliverAdd1NoString (240)First line of the delivery address for
the customer.
deliverAdd2NoString (240)Second line of the delivery address
for the customer.

Table 5-109 (Cont.) CustomerDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deliverAdd3NoString (240)Third line of the delivery address for
the customer.
deliverCountyNoString (250)County portion of the delivery
address.
deliverCityNoString (120)City portion of the delivery address.
deliverStateNoString (3)State portion of the delivery address.
deliverCountryIdNoString (3)Country portion of the delivery
address.
deliverPostNoString (30)Postal code portion of the delivery
address.
deliverJurisdictionNoString (10)Identifes the jurisdiction code for the
delivery country-state relationship.
deliverPhoneNoString (20)Contains the delivery phone number.
deliverEmailNoString (120)Contains the delivery email.
billFirstNameNoString (120)Contains the frst name for the billing
address on the order.
billPhoneticFirstNoString (120)Contains the phonetic frst name for
the billing address on the order.
billLastNameNoString (120)Contains the last name for the billing
address on the order.
billPhoneticLastNoString (120)Contains the phonetic last name for
the billing address on the order.
billPreferredNameNoString (120)Contains the preferred name for the
billing address on the order.
billCompanyNameNoString (120)Contains the company name for the
billing address on the order.
billAdd1NoString (240)First line of the billing address for the
customer.
billAdd2NoString (240)Second line of the billing address for
the customer.
billAdd3NoString (240)Third line of the billing address for
the customer.
billCountyNoString (250)County portion of the billing address.
billCityNoString (120)City portion of the billing address.
billStateNoString (3)State portion of the billing address.
billCountryIdNoString (3)Country portion of the billing
address.
billPostNoString (30)Postal code portion of the billing
address.
billJurisdictionNoString (10)Identifes the jurisdiction code for the
billing country-state relationship.
billPhoneNoString (20)Contains the billing phone number.
billEmailNoString (120)Contains the billing email.

Table 5-109 (Cont.) CustomerDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
localizationExtensionsNoCollection ofHolds optional localization attributes
Objectthat will be processed by the
localization extension module.

Table 5-110 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection of
Object
This holds the details of localization
attributes.

Table 5-111 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.

Table 5-112 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)Indicates the item ordered by the
customer.
referenceItemNoString (25)Indicates the reference item ordered
by the customer. Used only if a
specifc UPC is ordered. This is
supported for vendor drop-ships
orders only as we don’t support
transfer requests for a specifc
reference item.
orderQuantitySuomYesNumber
(12,4)
Indicates the quantity of the item
ordered by the customer in item’s
standard unit of measure.
standardUomNoString (4)Indicates item’s standard unit of
measure.
transactionUomNoString (4)Indicates the original transaction unit
of measure the order is placed in.
substituteIndYesString (1)Indicates if substitutes are allowed on
a customer order. This will only be
used by orders passed to SIM.

Table 5-112 (Cont.) Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
unitRetailNoNumber
(20,4)
Indicates the unit sales retail of item
on the customer order. This will only
be used by Brazil orders in case of
Warehouse Fulfllment or vendor
sourced POs shipped directly to the
customer. It is needed for Sales NF
generation.
retailCurrencyNoString (3)Indicates currency of unit retail and
total retail. This will only be used by
Brazil orders in case of Warehouse
Fulfllment or vendor sourced POs
shipped directly to the customer. It is
needed for Sales NF generation.
commentsNoString (2000)Used to indicate any special
instructions for the item, such as
services (monograms, engrave, etc).
itemLineNoNoNumber (10)Indicates the detail item line number
on the order.
Sample Input Message
{
  "items": [
    {
      "customerOrderNo": "123124",
      "fulfillOrderNo": "123124",
      "sourceLocationType": "SU",
      "sourceLocation": 2400,
      "fulfillLocationType": "S",
      "fulfillLocation": 1521,
      "partialDeliveryInd": "N",
      "deliveryType": "S",
      "carrierCode": "30",
      "carrierServiceCode": "D",
      "consumerDeliveryDate": "2001-12-31",
      "consumerDeliveryTime": "2001-12-31T23:59:59.123Z",
      "deliveryCharges": 3.55,
      "deliveryChargesCurrency": "USD",
      "comments": "CO for John Scott",
      "customerDetails": {
        "customerNo": "123456",
        "deliverFirstName": "John",
        "deliverPhoneticFirst": "Mr",
        "deliverLastName": "Scott",
        "deliverPhoneticLast": null,
        "deliverPreferredName": null,
        "deliverCompanyName": null,
        "deliverAdd1": "7th Street",
        "deliverAdd2": "2504 Centergate Dr Apt 103",
        "deliverAdd3": null,
        "deliverCounty": "Miramar County",
        "deliverCity": "Minneapolis",
        "deliverState": "MN",
        "deliverCountryId": "US",
        "deliverPost": "55555-1234",
        "deliverJurisdiction": null,
        "deliverPhone": "1800800800",
        "deliverEmail": "someone@email.com",
        "billFirstName": "John",
        "billPhoneticFirst": "Mr",
        "billLastName": "Scott",
        "billPhoneticLast": null,
        "billPreferredName": null,
        "billCompanyName": null,
        "billAdd1": "7th Street",
        "billAdd2": "2504 Centergate Dr Apt 103",
        "billAdd3": null,
        "billCounty": "Miramar County",
        "billCity": "Minneapolis",
        "billState": "MN",
        "billCountryId": "US",
        "billPost": "55555-1234",
        "billJurisdiction": null,
        "billPhone": "1800800800",
        "billEmail": "johnscott@gmail.com",
        "localizationExtensions": [
          {
            "country": "BR",
            "attributes": [
              {
                "name": "SPECIAL_CATEGORY_CODE",
                "value": "WS_PRC_08",
                "valueDate": "2001-12-31"
              }
            ]
          }
        ]
      },
      "details": [
        {
          "item": "100100068",
          "referenceItem": null,
          "orderQuantitySuom": 3,
          "standardUom": "EA",
          "transactionUom": "EA",
          "substituteInd": "N",
          "unitRetail": 12.99,
          "retailCurrency": "USD",
          "comments": "Customer Order Item Details",
          "itemLineNo": 1
        }
      ],
      "orderPlacedStore": 1311
    }
  ]
}

Response Code: 200 (Success)

Table 5-113 CreateResponse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection ofIt’s a referenced element. For detailed
Objectdescription, please refer referenced
element doc.

Table 5-114 CreateResponse.Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
customerOrderNoYesString (48)Holds the master customer order
number from OMS.
fulfllOrderNoYesString (48)Unique number from OMS related to
the fulfllment details. One or more
fulfllment orders could relate back to
a single customer order in OMS.
confrmationTypeYesString (1)Contains the confrmation type. ‘P’ -
Order Partially Created; ‘X’ - Order
Could not be Created; ‘C’ - Order
Completely Created, ‘R’ - Inventory
Reservation.
confrmationNoNoNumber (12)Contains the PO or Transfer number
in RMS related to the fulfllment
order line. Required if fulfllment
status is ‘P’.
detailsNoCollection of
Object
References a collection of customer
order confrmation item details. This
will be null for confrmation type ‘R’ -
inventory reservation.
fulfllLocationNoNumber (10)Contains the fulfllment location for
the order. This will be null for
confrmation type ‘R’ - inventory
reservation.
systemCodeNoString (10)The code identifying the system
associated with the location. This will
be null for confrmation type ‘R’ -
inventory reservation.

Table 5-115 CreateResponse.Items.Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)Indicates the item ordered by the
customer. This will be null for
confrmation type ‘R’ - inventory
reservation.

Table 5-115 (Cont.) CreateResponse.Items.Details - Object. See list of elements for detail

Element Name
Required
Data TypeDescription
referenceItem
No
String (25)Indicates the reference item ordered
by the customer. Used only if a
specifc UPC is ordered. This is
supported for vendor drop-ships
orders only as we don’t support
transfer requests for a specifc
reference item. This will be null for
confrmation type ‘R’ - inventory
reservation.
confrmedQuantity
Yes
Number
(12,4)
Indicates the quantity of the item that
can be sourced or fulflled on the
order. This will be null for
confrmation type ‘R’ - inventory
reservation.
confrmedQuantityUom
Yes
String (4)Indicates the unit of measure of the
confrmation quantity. This will be
null for confrmation type ‘R’ -
inventory reservation.
itemLineNo
No
Number (10)Indicates the detail item line number
on the order. This will be null for
confrmation type ‘R’ - inventory
reservation.
Sample Response Message
{
"items": [
{
"customerOrderNo": "123123",
"fulfillOrderNo": "123124",
"confirmationType": "P",
"confirmationNo": 9999999,
"details": [
{

"item": "100100076",
"referenceItem": null,
"confirmedQuantity": 3,
"confirmedQuantityUom":
"itemLineNo": 1
}
],
"fulfillLocation": 6000,
"systemCode": "INV"
}
]
}
"EA",
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Deals

The following services are included in this functional area:

  • Manage Complex Deals

  • Manage Fixed Deals

  • Deals Download Service

    • Get Item Location Deals

Manage Complex Deals

Functional Area

Deals

Business Overview

This service can be used to create, modify and delete all forms of complex deals that are currently supported via the application UI such as Off Invoice, Allowance, Bill Back, Bill Back Rebate, Vendor Funded Markdown, Vendor Funded Promotion, Promotional Consignment Rate and Clearance Consignment Rate.

It would work as an enhanced version of the existing dealupld batch but containing the latest set of enhancements that have taken place in this workflow.

Service Type

PUT

ReST URL

MerchIntegrations/services/deals/complexDeals/manage

Input Payload Details

Manage - Object. See list of elements for detail

Items - Object. See list of elements for detail

Components - Object. See list of elements for detail ItemLocation - Object. See list of elements for detail ProofOfPerformance - Object. See list of elements for detail Fulfillment - Object. See list of elements for detail

Threshold - Object. See list of elements for detail

Promotion - Object. See list of elements for detail

ReferencedPromotion - Object. See list of elements for detail

ManageError - Object. See list of elements for detail

Response Code: 200 (Success)

ManageResponse - Object. See list of elements for detail

ComplexDeals - Object. See list of elements for detail

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

ManageError - Object. See list of elements for detail

Manage Fixed Deals

Functional Area

Deals

Business Overview

This service can be used to create, modify and delete Merchandise as well as nonMerchandise based Fixed Deals.

Service Type

PUT

ReST URL

MerchIntegrations/services/deals/fixedDeals/manage

Input Payload Details

Manage - Object. See list of elements for detail Items - Object. See list of elements for detail Taxes - Object. See list of elements for detail Merchandise - Object. See list of elements for detail Locations - Object. See list of elements for detail Promotions - Object. See list of elements for detail ProofOfPerformance - Object. See list of elements for detail Fulfillment - Object. See list of elements for detail ManageError - Object. See list of elements for detail

Sample Input Message
{
"collectionSize": 1,
"items": [
{
"action": "CREATE",
"externalReferenceNo": "FIXEDDEALREST_01",
"dealId": 133588,
"status": "A",
"dealDescription": "Fixed Deal",
"vendorType": "SS",
"vendorId": null,
"supplierId": 2400,
"dealType": "OTHER",
"dealAmount": 1000,
"currencyCode": "USD",
"organizationUnitId": null,
"merchandiseInd": "Y",
"nonMerchandiseCode": null,
"taxInd": "N",
"taxCode": null,
"merchandiseIncomeApportionMethod": "R",
"locationIncomeApportionMethod": "R",
"recalculateInventoryValueInd": "N",
"prepaidInd": "N",
"collectFrequency": "M",
"collectStartDate": "2001-12-31",
"collectCount": 1,
"postingFrequency": null,
"postingOccurrence": null,
"invoiceProcessingLogic": "AA",
"invoiceDocumentType": "C",
"comments": "Fixed Deal Header via ReST FDEALREST_01",
"clearComments": "N",
"taxes": [
{
"action": "CREATE",
"taxCode": "S",
"taxBasis": 1000,
"clearTaxBasis": "N",
"taxAmount": 50,
"clearTaxAmount": "N"
}
],
"merchandise": [
{
"action": "CREATE",
"sequenceNo": 1,
"merchandiseLevel": "D",
"dept": 1000,
"class": null,
"subclass": null,
"itemParent": null,
"item": null,
"contributionRatio": null,
"clearContributionRatio": "N",
"locations": [
{
"action": "CREATE",
"locationType": "S",
"location": 1521,
"contributionRatio": null,
"clearContributionRatio": "N"
}
]
}
],
"promotions": [
{
"action": "CREATE",
"promotionId": 1121
}
],
"proofOfPerformance": [
{
"action": "CREATE",
"proofOfPerformanceSequenceNo": 1,
"dealReferenceItem": "100100092",
"type": "ECD",
"duration": 7,
"durationType": "MONTH",
"vendorRecommendedStartDate": "2001-12-31",
"vendorRecommendedEndDate": "2001-12-31",
"plannedStartDate": "2001-12-31",
"plannedEndDate": "2001-12-31",
"comments": "Proof of performance for fixed deal",
"fulfillment": [
{
"action": "CREATE",
"fulfillmentSequenceNo": 1,
"promotionId": 14,
"startDate": "2001-12-31",
"endDate": "2001-12-31",
"comments": "Fulfillment of POP"
}
]
}
]
}
]
}
Response Code: 200 (Success)

ManageResponse - Object. See list of elements for detail FixedDeals - Object. See list of elements for detail

Sample Response Message
{
"fixedDeals": [
{
"dealId": 133578,
"externalReferenceNo": "String"
}
]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

ManageError - Object. See list of elements for detail

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
],
"businessError": [
{
"externalReferenceNo": "String",
"dealId": 133578,
"merchSeqNo": 271772,
"location": 190104,
"taxCode": "String",
"popDefSeqNo": 390833,
"popType": "String",
"popFulfillSeqNo": 195679,
"promotionId": 799212,
"errorMessage": [
"String"
]
}
]
}

Deals Download Service

The following services are included in this functional area:

  • Get Item Location Deals

Get Item Location Deals

Functional Area

Deals

Business Overview

This service allows the Store Inventory system to query Merchandising for deals that are present for a given item/location combination based on a specific date and source (supplier, partner) criteria. Merchandising will respond with details of the off-invoice deals that the item/ location are part of based on the date that has been provided. These details will include the active and close dates and the discounts that are present on these deals.

Service Type

POST

ReST URL
MerchIntegrations/services/deals/itemLocation/get
Input Payload Details

Table 5-116 Get - Object. See list of elements for detail

Element NameRequiredData TypeDescription
sourceIdYesNumber (10)This is the source supplier or
warehouse.
locationYesNumber (10)This contains the destination location
of the store order.
locationTypeYesString (1)This contains the destination location
type of the store order.

Table 5-116 (Cont.) Get - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)Contains the item number in the
distro.
notBeforeDateYesdateContains the frst date that the
delivery of the order will be accepted.
Sample Input Message
{
  "sourceId": 2400,
  "location": 6000,
  "locationType": "S",
  "item": "100100076",
  "notBeforeDate": "2001-12-31"
}

Response Code: 200 (Success)

Table 5-117 GetResponse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection ofReferences a collection of store order
Objectinitiated deals.

Table 5-118 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
dealIdYesNumber (10)Deal that applies to the order item.
dealTypeYesString (10)Contains the Deal Type
activeDateYesdateDate the deal will become active.
closeDateNodateDate the deal will end or ended
dealClassNoString (6)Identifes the calculation class of the
deal component.
limitTypeNoString (6)Identifes whether thresholds will be
set up as quantity values, currency
amount values or percentages. Deal
limit types will be held on the codes
table under a code type of DLLT (Deal
Component Threshold Limits). It can
only be NULL for an M-type deal
(vendor funded markdown).
Examples of theshold limits are
Amount - total value of units (A) and
Quantity - number of Units (Q).

Table 5-118 (Cont.) Items - Object. See list of elements for detail

Element Name
Required
Data TypeDescription
valueType
No
String (6)Identifes whether the discount
values associated with the thresholds
will be set up as qty values, currency
amount values, percentages or fxed
amounts. Valid values are Q for qty, A
for currency amount, P for
percentage or F for fxed amount. Qty
threshold deals are only allowed on
off-invoice discounts. Deal threshold
value types will be held on the codes
table under a code type of DLL2. It
can only be NULL for an M-type deal
(vendor funded markdown).
lowerLimit
Yes
Number
(20,4)
Lower limit of the deal component.
This is the minimum value that must
be met in order to get the specifed
discount. This value will be either a
currency amount or quantity value,
depending on the value of the
threshold limit type.
upperLimit
Yes
Number
(20,4)
Upper limit of the deal component.
This is the maximum value for which
the specifed discount will apply. This
value will be either a currency
amount or quantity value, depending
on the threshold_limit_type of this
deal component.
value
Yes
Sample Response Message
Number
(20,4)
Value of the discount that will be
given for meeting the specifed
thresholds for this deal component.
{
"items": [
{

"dealId": 133578,
"dealType": "String",
"activeDate": "2001-12-31",
"closeDate": "2001-12-31",
"dealClass": "String",
"limitType": "String",
"valueType": "String",
"lowerLimit": 500,
"upperLimit": 10000,
"value": 20
}
]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Financials

The following services are included in this functional area:

  • Budgets

    • Half Data Budget Upload Service
  • Currency

    • Currency Download Service

    • Currency Exchange Rate Download Service

    • Currency Exchange Rate Upload Service

  • General Ledger

    • General Ledger Chart of Accounts Upload Service
  • Terms

    • Freight Term Upload Service

    • Payment Term Upload Service

  • Transaction Data

    • Transaction Data Upload Service

Budgets

The following services are included in this functional area:

  • Half Data Budget Upload Service

Half Data Budget Upload Service

Update Half Data Budget
Business Overview

The primary role of this service is to modify half data budgets and send them to Merchandising.

Functional Area

Financials

Modify Half Data Budget Business Overview

This service modifies half data budget by calling the SVCPROV_HDB package to load input data to the staging tables and then calling the core half data budget package to validate and update data to the HALF_DATA_BUDGET table.

Service Type

Post

Rest URL

financials/HalfDataBudgetREST/modifyHdb

Input Parameters

SvcprovHdbdescRecRDO
Parameter NameData Type
deptBigDecimal
class1BigDecimal
subclassBigDecimal
halfNoBigDecimal
locTypeString
locationBigDecimal
setOfBooksIdBigDecimal
cumMarkonPctBigDecimal
shrinkagePctBigDecimal
markdownPctBigDecimal
JSON Structure
[
    {
        "dept": null,
        "class1":null,
        "subclass":null,
        "halfNo": null,
        "locType": null,
        "location": null,
        "setOfBooksId": null,
        "cumMarkonPct": null,
        "shrinkagePct": null,
        "markdownPct": null
    }
]

Output

SvcprovHdbStatusRecRDO
Parameter NameData Type
statusMsgString
hdbErrTblList< SvcprovFailHdbRecRDO>
SvcprovFailHdbRecRDO
Parameter NameData Type
deptBigDecimal
class1BigDecimal
subclassBigDecimal
halfNoBigDecimal
locTypeString
locationBigDecimal
setOfBooksIdBigDecimal
errorMsgString

The output will contain the status of the request including validation errors, if any.

JSON Structure
{
  "statusMsg": null,
  " hdbErrTbl ": [
    {
      "dept": null,
      "class1":null,
      "subclass":null,
      "halfNo": null,
      "locType": null,
      "location": null,
      "setOfBooksId": null,
      "errorMsg": null,
      "links": [],
      "hyperMediaContent": {
        "linkRDO": []
      }
    }
  ],
  "links": [],
  "hyperMediaContent": {
    "linkRDO": []
  }
}

Table Impact

TABLESELECTINSERTUPDATEDELETE
HALF_DATA_BUGETYesNoYesNo
SVC_PROCESS_TRACKERYesYesYesNo
SVC_ADMIN_UPLD_ERYesYesNoNo
SVC_HALF_DATA_BUDGETYesYesNoYes
CODE_DETAILYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Currency

The following services are included in this functional area:

  • Currency Download Service

  • Currency Exchange Rate Download Service

  • Currency Exchange Rate Upload Service

Currency Download Service

Get Currency Definitions

Business Overview

Retrieve Merchandising’s Currencies table records.

Service Type

GET

ReST URL

/Common/Currencies

Input Parameters

N/A

Output

Table 5-119 MblCurrenciesRDO
Parameter NameData Type
currencyCodeString
currencyDescriptionString
currencyCostFormatString
currencyRetailFormatString
currencyCostDecimalBigDecimal
currencyRetailDecimalBigDecimal
JSON Structure:
[
  {
    "links": [],
    "currencyCode": "AED",
    "currencyDescription": "U.A.E. Dirham",
    "currencyCostFormat": "FM9G999G999G999G990D9099PR",
    "currencyRetailFormat": "FM9G999G999G999G990D90PR",
    "currencyCostDecimal": 4,
    "currencyRetailDecimal": 2,
    "hyperMediaContent": {
      "linkRDO": []
    }
  },
  {
    "links": [],
    "currencyCode": "ALL",
    "currencyDescription": "UNKNOWN",
    "currencyCostFormat": "FMD0",
    "currencyRetailFormat": "FMD90",
    "currencyCostDecimal": 2,
    "currencyRetailDecimal": 2,
    "hyperMediaContent": {
      "linkRDO": []
    }
  },
........

Table Impact

TABLESELECTINSERTUPDATEDELETE
CURRENCIESYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Currency Exchange Rate Download Service

Get Currency Exchange Rates

This section describes the Currency Rate service.

Business Overview

This service is used to retrieve all currencies and currency conversion rates. The conversion rate is the value used to convert to the primary currency.

Service Type

Get

ReST URL
CurrencyRates/currencyRates

Input Parameters

N/A

Output

RestCurrencyRatesRecRDO
Parameter NameData Type
exchangeRateBigDecimal
effectiveDateTimestamp
currencyCodeString
exchangeTypeString
JSON Structure
[
  {
    "exchangeRate": null,
    "effectiveDate": null,
    "currencyCode": null,
    "exchangeType": null,
    "links": [],
    "hyperMediaContent": {
      "linkRDO": []
    }
  }
]

Table Impact

TABLESELECTINSERTUPDATEDELETE
CURRENCY_RATESYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Currency Exchange Rate Upload Service

Manage Currency Exchange Rates

Functional Area

Financials - Currency

Business Overview

Currency exchange rates constitute financial information that is subscribed to by Merchandising. A currency exchange rate is the price of one country’s currency expressed in another country’s currency. This webservice assumes that currency codes are already present in Merchandising. This service supports creating new rates by date and updating existing rates for the same conversion date.

Service Type

PUT

ReST URL
MerchIntegrations/services/financials/currency/exchangeRate/manage
Availability During Nightly Batch Cycle

This service will not be available when batches that affect costs are in-progress.

Input Payload Details

Table 5-120 Manage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of currency
Objectexchange rate details.

Table 5-121 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fromCurrencyYesString (3)Contains the currency code that the
rate exchange is from.
toCurrencyYesString (3)Contains the currency code that the
rate exchange is to.
conversionDateYesdateContains the date on which the
currency rate became or will become
active.
conversionRateYesNumber
(20,10)
The exchange rate between the two
currency codes for the type and
effective date.
conversionTypeYesString (30)This feld identifes the type of
exchange rate the history exists for.
Valid values are valid exchange types
in ff_currency_xref table.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "fromCurrency": "USD",
      "toCurrency": "AUD",
      "conversionDate": "2001-12-31",
      "conversionRate": 3,
      "conversionType": "C"
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

General Ledger

The following services are included in this functional area:

• General Ledger Chart of Accounts Upload Service

General Ledger Chart of Accounts Upload Service

Manage General Ledger Chart of Accounts

Functional Area

Financials - General Ledger

Business Overview

This service is used when Retail Financial Integration (RFI) is not being used and integration with a financial system is a custom or to a non-Oracle financials system. When using RFI with an Oracle Financial system, the chart of accounts (COA) information in Merchandising and Sales Audit is created through a mapping and COA validation process. It is used to create new chart of account entries, as well as update existing entries.

Before Merchandising can publish stock ledger data to an external financial application, it must receive the General Ledger chart of accounts (GLCOA) structure. The chart of accounts is the financial application’s debit and credit account segments (for example, company, cost center, account, and so on). These are mapped to the transactions, locations, and product hierarchy in Merchandising when stock ledger data and Sales Audit totals are sent to the General Ledger. In some financial applications, these are known as code combination chart fields. There is also a primary account, in some systems know as a CCID that uniquely identifies the combination

of segment or chart field values. Upon receipt of GLCOA message data, Merchandising populates the data to the FIF_GL_ACCT table.

Service Type
PUT
ReST URL
MerchIntegrations/services/financials/generalLedger/chartOfAccounts/manage

Input Payload Details

Table 5-122 Manage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of GL chart of
Objectaccounts.

Table 5-123 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
primaryAccountYesString (25)This denotes the primary account for
a chart of accounts.
attribute1NoString (25)Secondary Account information. A
value is required if description1 is
supplied.
attribute2NoString (25)Secondary Account information. A
value is required if description2 is
supplied.
attribute3NoString (25)Secondary Account information. A
value is required if description3 is
supplied.
attribute4NoString (25)Secondary Account information. A
value is required if description4 is
supplied.
attribute5NoString (25)Secondary Account information. A
value is required if description5 is
supplied.
attribute6NoString (25)Secondary Account information. A
value is required if description6 is
supplied.
attribute7NoString (25)Secondary Account information. A
value is required if description7 is
supplied.
attribute8NoString (25)Secondary Account information. A
value is required if description8 is
supplied.
attribute9NoString (25)Secondary Account information. A
value is required if description9 is
supplied.

Table 5-123 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
attribute10NoString (25)Secondary Account information. A
value is required if description10 is
supplied.
attribute11NoString (25)Secondary Account information. A
value is required if description11 is
supplied.
attribute12NoString (25)Secondary Account information. A
value is required if description12 is
supplied.
attribute13NoString (25)Secondary Account information. A
value is required if description13 is
supplied.
attribute14NoString (25)Secondary Account information. A
value is required if description14 is
supplied.
attribute15NoString (25)Secondary Account information. A
value is required if description15 is
supplied.
description1NoString (50)Description of the attribute1 feld.
Required if attribute1 is supplied and
you are not using Oracle Financials
11.5.10 or greater.
description2NoString (50)Description of the attribute2 feld.
Required if attribute2 is supplied and
you are not using Oracle Financials
11.5.10 or greater.
description3NoString (50)Description of the attribute3 feld.
Required if attribute3 is supplied and
you are not using Oracle Financials
11.5.10 or greater.
description4NoString (50)Description of the attribute4 feld.
Required if attribute4 is supplied and
you are not using Oracle Financials
11.5.10 or greater.
description5NoString (50)Description of the attribute5 feld.
Required if attribute5 is supplied and
you are not using Oracle Financials
11.5.10 or greater.
description6NoString (50)Description of the attribute6 feld.
Required if attribute6 is supplied and
you are not using Oracle Financials
11.5.10 or greater.
description7NoString (50)Description of the attribute7 feld.
Required if attribute7 is supplied and
you are not using Oracle Financials
11.5.10 or greater.
description8NoString (50)Description of the attribute8 feld.
Required if attribute8 is supplied and
you are not using Oracle Financials
11.5.10 or greater.

Table 5-123 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
description9NoString (50)Description of the attribute9 feld.
Required if attribute9 is supplied and
you are not using Oracle Financials
11.5.10 or greater.
description10NoString (50)Description of the attribute10 feld.
Required if attribute10 is supplied
and you are not using Oracle
Financials 11.5.10 or greater.
description11NoString (50)Description of the attribute11 feld.
Required if attribute11 is supplied
and you are not using Oracle
Financials 11.5.10 or greater.
description12NoString (50)Description of the attribute12 feld.
Required if attribute12 is supplied
and you are not using Oracle
Financials 11.5.10 or greater.
description13NoString (50)Description of the attribute13 feld.
Required if attribute13 is supplied
and you are not using Oracle
Financials 11.5.10 or greater.
description14NoString (50)Description of the attribute14 feld.
Required if attribute14 is supplied
and you are not using Oracle
Financials 11.5.10 or greater
description15NoString (50)Description of the attribute15 feld.
Required if attribute15 is supplied
and you are not using Oracle
Financials 11.5.10 or greater.
setOfBooksIdNoNumber (15)The Set of books Identifer.
attribute16NoString (25)Secondary Account information. A
value is required if description16 is
supplied.
attribute17NoString (25)Secondary Account information. A
value is required if description17 is
supplied.
attribute18NoString (25)Secondary Account information. A
value is required if description18 is
supplied.
attribute19NoString (25)Secondary Account information. A
value is required if description19 is
supplied.
attribute20NoString (25)Secondary Account information. A
value is required if description20 is
supplied.
description16NoString (50)Description of the attribute16 feld.
Required if attribute16 supplied and
you are not using Oracle Financials
11. 5. 10 or greater.

Table 5-123 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
description17NoString (50)Description of the attribute17 feld.
Required if attribute17 supplied and
you are not using Oracle Financials
11. 5. 10 or greater.
description18NoString (50)Description of the attribute18 feld.
Required if attribute18 supplied and
you are not using Oracle Financials
11. 5. 10 or greater.
description19NoString (50)Description of the attribute19 feld.
Required if attribute19 supplied and
you are not using Oracle Financials
11. 5. 10 or greater.
description20NoString (50)Description of the attribute20 feld.
Required if attribute20 supplied and
you are not using Oracle Financials
11. 5. 10 or greater.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "primaryAccount": "99338",
      "attribute1": "1001",
      "attribute2": "1002",
      "attribute3": "1003",
      "attribute4": "1004",
      "attribute5": "1005",
      "attribute6": null,
      "attribute7": null,
      "attribute8": null,
      "attribute9": null,
      "attribute10": null,
      "attribute11": null,
      "attribute12": null,
      "attribute13": null,
      "attribute14": null,
      "attribute15": null,
      "description1": "Attribute 1001",
      "description2": "Attribute 1002",
      "description3": "Attribute 1003",
      "description4": "Attribute 1004",
      "description5": "Attribute 1005",
      "description6": null,
      "description7": null,
      "description8": null,
      "description9": null,
      "description10": null,
      "description11": null,
      "description12": null,
      "description13": null,
      "description14": null,
      "description15": null,
      "setOfBooksId": 111111111111111,
      "attribute16": null,
      "attribute17": null,
      "attribute18": null,
      "attribute19": null,
      "attribute20": null,
      "description16": null,
      "description17": null,
      "description18": null,
      "description19": null,
      "description20": null
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Manage Merchandising General Ledger Cross Reference

Functional Area

Financials - General Ledger

Business Overview

This service will aid management of the General Ledger Cross Reference Data in Merchandising in addition to the existing spreadsheet upload. This will allow create, update and delete of records from FIF_GL_CROSS_REF table based on the action.

The account validation offered by this service will be based on the configuration of the ‘External Account Validation’ system option. If external account validation is opted for and if the account combination specified on the cross-reference record is not found locally (in the FIF_GL_ACCT table), a webservice call will be invoked to validate account combinations in Cloud Financials. (Note: The Account validation service credentials and end point will need to be configured in Merchandising to carry out this service call/validation). If the account is found to be valid via the service call, then the account will be added to the local account repository (FIF_GL_ACCT) for future reference and the cross reference saved successfully.

If External Account Validation is not opted for, then the account validation will be limited to validating against the accounts available locally (in the FIF_GL_ACCT table). Combinations not existing in FIF_GL_ACCT will not be included in the cross-reference table.

Service Type

PUT

ReST URL
MerchIntegrations/services/financials/generalLedger/crossReference/manage
Availability During Nightly Batch Cycle

This service will not be available during total duration of nightly batch run cycle.

Input Payload Details

Table 5-124 Manage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in
the collection.
itemsYesCollection of ObjectReference a collection
of GL Cross Reference
Data.

Table 5-125 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionYesString (10)Specifes the intended
action to create,
update or delete an
externally generated
location list. Valid
values are CREATE,
UPDATE or DELETE.

Table 5-125 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
setOfBooksIdYesNumber (15)The Set of books
Identifer.
deptNoNumber (4)Oracle Retail
department. A value of
-1 will be used as a
wildcard to mean all
departments.
classNoNumber (4)Oracle Retail Class. A
value of -1 will be used
as a wildcard to mean
all classes.
subclassNoNumber (4)Oracle Retail Subclass.
A value of -1 will be
used as a wildcard to
mean all subclasses.
locationNoNumber (10)Oracle Retail Location.
A value of -1 will be
used as a wildcard to
mean all locations.
transactionCodeYesNumber (4)Oracle Retail
Transaction code. A
value of -1 will be used
as a wildcard to mean
all tran codes. A tran
code of zero will be
used to refer to
purchase order
accounts.
costRetailIndYesString (1)Cost C or Retail R Flag.
lineTypeYesString (6)This indicates whether
the account code of
this record is for an
Item, Freight, Tax, or
Miscellaneous. This
information will be
necessary when
choosing which Oracle
Financials account to
associate with each
line in the invoice.
Without this feld, we
are only able to choose
an account code for an
item, not for freight,
tax, or miscellaneous
charges.

Table 5-125 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
transactionReferenceN
o
NoString (25)Contains the
intercompany transfer
from/to location ( tran
code = 37, 38), the
work order activity ID
( tran code = 63, 64),
the inventory
adjustment reason
( tran code = 22, 23),
the vat code ( tran
code = 87, 88) or -1 as a
catch-all value, the
merchandise cost
mapping code system
option, the unmapped
cost component
mapping code system
option or a non-
merchandise code
found on the non-
merchandise codes
table ( tran code = 20).
If the tran code is
Intercompany Out, the
feld will contain the
transfer To Location. If
the tran code is
Intercompany, the
feld will contain the
transfer From
Location. If the tran
code is sales or return
(Tran codes 1,2,3,4,5),
the feld will contain
the posting classifer.
If the tran code is sales
- based deal ( tran code
6), the feld will
contain the deal billing
type .
debitAccountNoNumber (18)Oracle debit account
combination code ID,
determined from the
10 sequence numbers.
debitSegment1NoString (25)Oracle debit account
mapping feld1, maps
to Oracle side
GL_Code_combination
s table.
debitSegment2NoString (25)Oracle debit account
mapping feld2, maps
to Oracle side
GL_Code_combination
s table.

Table 5-125 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
debitSegment3NoString (25)Oracle debit account
mapping feld3, maps
to Oracle side
GL_Code_combination
s table.
debitSegment4NoString (25)Oracle debit account
mapping feld4, maps
to Oracle side
GL_Code_combination
s table.
debitSegment5NoString (25)Oracle debit account
mapping feld5, maps
to Oracle side
GL_Code_combination
s table.
debitSegment6NoString (25)Oracle debit account
mapping feld6, maps
to Oracle side
GL_Code_combination
s table.
debitSegment7NoString (25)Oracle debit account
mapping feld7, maps
to Oracle side
GL_Code_combination
s table.
debitSegment8NoString (25)Oracle debit account
mapping feld8, maps
to Oracle side
GL_Code_combination
s table.
debitSegment9NoString (25)Oracle debit account
mapping feld9, maps
to Oracle side
GL_Code_combination
s table.
debitSegment10NoString (25)Oracle debit account
mapping feld10, maps
to Oracle side
GL_Code_combination
s table.
debitSegment11NoString (25)Oracle debit account
mapping feld11, maps
to Oracle side
GL_Code_combination
s table.
debitSegment12NoString (25)Oracle debit account
mapping feld12, maps
to Oracle side
GL_Code_combination
s table.

Table 5-125 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
debitSegment13NoString (25)Oracle debit account
mapping feld13, maps
to Oracle side
GL_Code_combination
s table.
debitSegment14NoString (25)Oracle debit account
mapping feld14, maps
to Oracle side
GL_Code_combination
s table.
debitSegment15NoString (25)Oracle debit account
mapping feld15, maps
to Oracle side
GL_Code_combination
s table.
debitSegment16NoString (25)Oracle debit account
mapping feld16, maps
to Oracle side
GL_Code_combination
s table.
debitSegment17NoString (25)Oracle debit account
mapping feld17, maps
to Oracle side
GL_Code_combination
s table.
debitSegment18NoString (25)Oracle debit account
mapping feld18, maps
to Oracle side
GL_Code_combination
s table.
debitSegment19NoString (25)Oracle debit account
mapping feld19, maps
to Oracle side
GL_Code_combination
s table.
debitSegment20NoString (25)Oracle debit account
mapping feld20, maps
to Oracle side
GL_Code_combination
s table.
creditAccountNoNumber (18)Oracle credit account
combination code ID,
determined from the
10 sequence numbers.
creditSegment1NoString (25)Oracle credit account
mapping feld1, maps
to Oracle side
GL_Code_combination
s table.

Table 5-125 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
creditSegment2NoString (25)Oracle credit account
mapping feld2, maps
to Oracle side
GL_Code_combination
s table.
creditSegment3NoString (25)Oracle credit account
mapping feld3, maps
to Oracle side
GL_Code_combination
s table.
creditSegment4NoString (25)Oracle credit account
mapping feld4, maps
to Oracle side
GL_Code_combination
s table.
creditSegment5NoString (25)Oracle credit account
mapping feld5, maps
to Oracle side
GL_Code_combination
s table.
creditSegment6NoString (25)Oracle credit account
mapping feld6, maps
to Oracle side
GL_Code_combination
s table.
creditSegment7NoString (25)Oracle credit account
mapping feld7, maps
to Oracle side
GL_Code_combination
s table.
creditSegment8NoString (25)Oracle credit account
mapping feld8, maps
to Oracle side
GL_Code_combination
s table.
creditSegment9NoString (25)Oracle credit account
mapping feld9, maps
to Oracle side
GL_Code_combination
s table.
creditSegment10NoString (25)Oracle credit account
mapping feld10, maps
to Oracle side
GL_Code_combination
s table.
creditSegment11NoString (25)Oracle credit account
mapping feld11, maps
to Oracle side
GL_Code_combination
s table.

Table 5-125 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
creditSegment12NoString (25)Oracle credit account
mapping feld12, maps
to Oracle side
GL_Code_combination
s table.
creditSegment13NoString (25)Oracle credit account
mapping feld13, maps
to Oracle side
GL_Code_combination
s table.
creditSegment14NoString (25)Oracle credit account
mapping feld14, maps
to Oracle side
GL_Code_combination
s table.
creditSegment15NoString (25)Oracle credit account
mapping feld15, maps
to Oracle side
GL_Code_combination
s table.
creditSegment16NoString (25)Oracle credit account
mapping feld16, maps
to Oracle side
GL_Code_combination
s table.
creditSegment17NoString (25)Oracle credit account
mapping feld17, maps
to Oracle side
GL_Code_combination
s table.
creditSegment18NoString (25)Oracle credit account
mapping feld18, maps
to Oracle side
GL_Code_combination
s table.
creditSegment19NoString (25)Oracle credit account
mapping feld19, maps
to Oracle side
GL_Code_combination
s table.
creditSegment20NoString (25)Oracle credit account
mapping feld20, maps
to Oracle side
GL_Code_combination
s table.

Table 5-125 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
baseIndNoString (1)This column indicates
if the record will be
used as priority for
cross reference
mapping with
dynamic
segments.Valid values
are ‘Y’ or Null.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"action": "CREATE",
"setOfBooksId": 1,
"dept": 209,
"class": -1,
"subclass": -1,
"location": 265080,
"transactionCode": 30,
"costRetailInd": "C",
"lineType": "ITEM",
"transactionReferenceNo": "265109",
"debitAccount": 1922,
"debitSegment1": "KS LLC",
"debitSegment2": "123100",
"debitSegment3": "32520",
"debitSegment4": "0",
"debitSegment5": null,
"debitSegment6": null,
"debitSegment7": null,
"debitSegment8": null,
"debitSegment9": null,
"debitSegment10": null,
"debitSegment11": null,
"debitSegment12": null,
"debitSegment13": null,
"debitSegment14": null,
"debitSegment15": null,
"debitSegment16": null,
"debitSegment17": null,
"debitSegment18": null,
"debitSegment19": null,
"debitSegment20": null,
"creditAccount": 498,
"creditSegment1": "KS LLC",
"creditSegment2": "123200",
"creditSegment3": "32520",
"creditSegment4": "0",
"creditSegment5": null,
"creditSegment6": null,
"creditSegment7": null,
"creditSegment8": null,
"creditSegment9": null,
"creditSegment10": null,
"creditSegment11": null,
"creditSegment12": null,
"creditSegment13": null,
"creditSegment14": null,
"creditSegment15": null,
"creditSegment16": null,
"creditSegment17": null,
"creditSegment18": null,
"creditSegment19": null,
"creditSegment20": null,
"baseInd": null
}
]
}

Response Code: 200 (Success)

Table 5-126 ManageResponse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
messageYesString (250)Indicates processing
outcome and the
message is defned by
code_detail code_type
IIPS. Default
confgured values are
Processed Successfully
or Processed with
errors or Processed
with warnings or
Pending validation
from external
Financial System.
errorsYesCollection of ObjectReferences a collection
non-successful Cross
Reference Data with
its corresponding
errors. This will be
empty when all the
records get
successfully processed.
In case of multiple GL
Cross Reference data
in the input and there
are one/multiple/all
failures, the error/
warning reasons for
each of the non-
successful Cross
Reference data will be
captured here.

Table 5-127 Errors - Object. See list of elements for detail

Element NameRequiredData TypeDescription
setOfBooksIdYesNumber (15)The Set of books
Identifer.
deptYesNumber (4)Oracle Retail
department. A value of
-1 will be used as a
wildcard to mean all
departments.
classYesNumber (4)Oracle Retail Class. A
value of -1 will be used
as a wildcard to mean
all classes.
subclassYesNumber (4)Oracle Retail Subclass.
A value of -1 will be
used as a wildcard to
mean all subclasses.
locationYesNumber (10)Oracle Retail Location.
A value of -1 will be
used as a wildcard to
mean all locations.
transactionCodeYesNumber (4)Oracle Retail
Transaction code. A
value of -1 will be used
as a wildcard to mean
all tran codes. A tran
code of zero will be
used to refer to
purchase order
accounts.
costRetailIndYesString (1)Cost C or Retail R Flag.
lineTypeYesString (6)This indicates whether
the account code of
this record is for an
Item, Freight, Tax, or
Miscellaneous. This
information will be
necessary when
choosing which Oracle
Financials account to
associate with each
line in the invoice.
Without this feld, we
are only able to choose
an account code for an
item, not for freight,
tax, or miscellaneous
charges.

Table 5-127 (Cont.) Errors - Object. See list of elements for detail

Element NameRequiredData TypeDescription
transactionReferenceN
o
YesString (25)Contains the
intercompany transfer
from/to location ( tran
code = 37, 38), the
work order activity ID
( tran code = 63, 64),
the inventory
adjustment reason
( tran code = 22, 23),
the vat code ( tran
code = 87, 88) or -1 as a
catch-all value, the
merchandise cost
mapping code system
option, the unmapped
cost component
mapping code system
option or a non-
merchandise code
found on the non-
merchandise codes
table ( tran code = 20).
If the tran code is
Intercompany Out, the
feld will contain the
transfer To Location. If
the tran code is
Intercompany, the
feld will contain the
transfer From
Location. If the tran
code is sales or return
(Tran codes 1,2,3,4,5),
the feld will contain
the posting classifer.
If the tran code is
sales-based deal ( tran
code 6), the feld will
contain the deal billing
type.
errorMessageYesArray of StringReferences a collection
of errors for a given
setOfBooksId , dept,
class, subclass,
location,
transactionCode ,
costRetailInd ,
lineType ,
transactionReferenceN
o record.
Sample Response Message
{
"message": "Processed Successfully",
"errors": [
{
"setOfBooksId": null,
"dept": null,
"class": null,
"subclass": null,
"location": null,
"transactionCode": null,
"costRetailInd": null,
"lineType": null,
"transactionReferenceNo": null,
"errorMessage": [
"null"
]
}
]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Manage Sales Audit General Ledger Cross Reference

Functional Area

Sales Audit - Financials

Business Overview

This service will aid management of the General Ledger Cross Reference Data in Sales Audit in addition to the existing spreadsheet upload. This will allow create, update and delete of records from SA_FIF_GL_CROSS_REF table based on the action.

The account validation offered by this service will be based on the configuration of the ‘External Account Validation’ system option. If external account validation is opted for and if the account combination specified on the cross-reference record is not found locally (in the FIF_GL_ACCT table), a webservice call will be invoked to validate account combinations in Cloud Financials. (Note: The Account validation service credentials and end point will need to

be configured in Merchandising to carry out this service call/validation). If the account is found to be valid via the service call, then the account will be added to the local account repository (FIF_GL_ACCT) for future reference and the cross reference saved successfully.

If External Account Validation is not opted for, then the account validation will be limited to validating against the accounts available locally (in the FIF_GL_ACCT table). Combinations not existing in FIF_GL_ACCT will not be included in the cross-reference table.

Service Type

PUT

ReST URL
MerchIntegrations/services/resa/glCrossReference/manage
Availability During Nightly Batch Cycle

This service will not be available during total duration of nightly batch run cycle.

Input Payload Details

Table 5-128 Manage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReference a collection of GL Cross
ObjectReference Data.

Table 5-129 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionYesString (10)Specifes the intended action to create,
update or delete an externally generated
location list. Valid values are CREATE,
UPDATE or DELETE.
storeYesNumber (10)This column indicates the location the
account code is valid for.
totalYesString (10)This column indicates the type of total
the account is valid for.
setOfBooksIdYesNumber (15)Oracle set of books for Oracle Retail
transactions.
rollupLevel1YesString (120)This column indicates the frst rollup
level of total.
rollupLevel2YesString (120)This column indicates the second rollup
level of total.
rollupLevel3YesString (120)This column indicates the third rollup
level of total.
debitAccountNoNumber (18)Oracle debit account combination code
ID, determined from the 10 sequence
numbers.

Table 5-129 (Cont.) Items - Object. See list of elements for detail

Element NameRequired
Data Type
Description
debitSegment1NoString (25)Oracle debit account mapping feld1,
maps to Oracle side
GL_Code_combinations table.
debitSegment2NoString (25)Oracle debit account mapping feld2,
maps to Oracle side
GL_Code_combinations table.
debitSegment3NoString (25)Oracle debit account mapping feld3,
maps to Oracle side
GL_Code_combinations table.
debitSegment4NoString (25)Oracle debit account mapping feld4,
maps to Oracle side
GL_Code_combinations table.
debitSegment5NoString (25)Oracle debit account mapping feld5,
maps to Oracle side
GL_Code_combinations table.
debitSegment6NoString (25)Oracle debit account mapping feld6,
maps to Oracle side
GL_Code_combinations table.
debitSegment7NoString (25)Oracle debit account mapping feld7,
maps to Oracle side
GL_Code_combinations table.
debitSegment8NoString (25)Oracle debit account mapping feld8,
maps to Oracle side
GL_Code_combinations table.
debitSegment9NoString (25)Oracle debit account mapping feld9,
maps to Oracle side
GL_Code_combinations table.
debitSegment10NoString (25)Oracle debit account mapping feld10,
maps to Oracle side
GL_Code_combinations table.
debitSegment11NoString (25)Oracle debit account mapping feld11,
maps to Oracle side
GL_Code_combinations table.
debitSegment12NoString (25)Oracle debit account mapping feld12,
maps to Oracle side
GL_Code_combinations table.
debitSegment13NoString (25)Oracle debit account mapping feld13,
maps to Oracle side
GL_Code_combinations table.
debitSegment14NoString (25)Oracle debit account mapping feld14,
maps to Oracle side
GL_Code_combinations table.
debitSegment15NoString (25)Oracle debit account mapping feld15,
maps to Oracle side
GL_Code_combinations table.
debitSegment16NoString (25)Oracle debit account mapping feld16,
maps to Oracle side
GL_Code_combinations table.
debitSegment17NoString (25)Oracle debit account mapping feld17,
maps to Oracle side
GL_Code_combinations table.

Table 5-129 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
debitSegment18NoString (25)Oracle debit account mapping feld18,
maps to Oracle side
GL_Code_combinations table.
debitSegment19NoString (25)Oracle debit account mapping feld19,
maps to Oracle side
GL_Code_combinations table.
debitSegment20NoString (25)Oracle debit account mapping feld20,
maps to Oracle side
GL_Code_combinations table.
creditAccountNoNumber (18)Oracle credit account combination code
ID, determined from the 10 sequence
numbers.
creditSegment1NoString (25)Oracle credit account mapping feld1,
maps to Oracle side
GL_Code_combinations table.
creditSegment2NoString (25)Oracle credit account mapping feld2,
maps to Oracle side
GL_Code_combinations table.
creditSegment3NoString (25)Oracle credit account mapping feld3,
maps to Oracle side
GL_Code_combinations table.
creditSegment4NoString (25)Oracle credit account mapping feld4,
maps to Oracle side
GL_Code_combinations table.
creditSegment5NoString (25)Oracle credit account mapping feld5,
maps to Oracle side
GL_Code_combinations table.
creditSegment6NoString (25)Oracle credit account mapping feld6,
maps to Oracle side
GL_Code_combinations table.
creditSegment7NoString (25)Oracle credit account mapping feld7,
maps to Oracle side
GL_Code_combinations table.
creditSegment8NoString (25)Oracle credit account mapping feld8,
maps to Oracle side
GL_Code_combinations table.
creditSegment9NoString (25)Oracle credit account mapping feld9,
maps to Oracle side
GL_Code_combinations table.
creditSegment10NoString (25)Oracle credit account mapping feld10,
maps to Oracle side
GL_Code_combinations table.
creditSegment11NoString (25)Oracle credit account mapping feld11,
maps to Oracle side
GL_Code_combinations table.
creditSegment12NoString (25)Oracle credit account mapping feld12,
maps to Oracle side
GL_Code_combinations table.
creditSegment13NoString (25)Oracle credit account mapping feld13,
maps to Oracle side
GL_Code_combinations table.

Table 5-129 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
creditSegment14NoString (25)Oracle credit account mapping feld14,
maps to Oracle side
GL_Code_combinations table.
creditSegment15NoString (25)Oracle credit account mapping feld15,
maps to Oracle side
GL_Code_combinations table.
creditSegment16NoString (25)Oracle credit account mapping feld16,
maps to Oracle side
GL_Code_combinations table.
creditSegment17NoString (25)Oracle credit account mapping feld17,
maps to Oracle side
GL_Code_combinations table.
creditSegment18NoString (25)Oracle credit account mapping feld18,
maps to Oracle side
GL_Code_combinations table.
creditSegment19NoString (25)Oracle credit account mapping feld19,
maps to Oracle side
GL_Code_combinations table.
creditSegment20NoString (25)Oracle credit account mapping feld20,
maps to Oracle side
GL_Code_combinations table.
attribute3MapNoString (30)This column will store the metadata
information on which feld can be
mapped to the
STG_FIF_GL_DATA.ATTRIBUTE3 column
for a specifc GL cross reference
mapping.
attribute4MapNoString (30)This column will store the metadata
information on which feld can be
mapped to the
STG_FIF_GL_DATA.ATTRIBUTE4 column
for a specifc GL cross reference
mapping.
attribute5MapNoString (30)This column will store the metadata
information on which feld can be
mapped to the
STG_FIF_GL_DATA.ATTRIBUTE5 column
for a specifc GL cross reference
mapping.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "action": "CREATE",
      "store": 320,
      "total": "TENDER",
      "setOfBooksId": 2021,
      "rollupLevel1": "44",
      "rollupLevel2": "-1",
      "rollupLevel3": "-1",
      "debitAccount": null,
      "debitSegment1": "1",
      "debitSegment2": "1",
      "debitSegment3": "0",
      "debitSegment4": "0",
      "debitSegment5": "10003",
      "debitSegment6": "52028",
      "debitSegment7": "0",
      "debitSegment8": "0",
      "debitSegment9": null,
      "debitSegment10": null,
      "debitSegment11": null,
      "debitSegment12": null,
      "debitSegment13": null,
      "debitSegment14": null,
      "debitSegment15": null,
      "debitSegment16": null,
      "debitSegment17": null,
      "debitSegment18": null,
      "debitSegment19": null,
      "debitSegment20": null,
      "creditAccount": null,
      "creditSegment1": "1",
      "creditSegment2": "1",
      "creditSegment3": "0",
      "creditSegment4": "0",
      "creditSegment5": "10003",
      "creditSegment6": "52045",
      "creditSegment7": "0",
      "creditSegment8": "0",
      "creditSegment9": null,
      "creditSegment10": null,
      "creditSegment11": null,
      "creditSegment12": null,
      "creditSegment13": null,
      "creditSegment14": null,
      "creditSegment15": null,
      "creditSegment16": null,
      "creditSegment17": null,
      "creditSegment18": null,
      "creditSegment19": null,
      "creditSegment20": null,
      "attribute3Map": "ROLLUP_LEVEL_1",
      "attribute4Map": null,
      "attribute5Map": null
    }
  ]
}
Response Code: 200 (Success)

Table 5-130 ManageResponse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
messageYesString (30)Indicates processing outcome and the
message is defned by code_detail
code_type IIPS. Default confgured
values are Processed Successfully or
Processed with errors or Processed with
warnings or Pending validation from
external Financial System.
errorsYesCollection of
Object
References a collection non-successful
Cross Reference Data with its
corresponding errors. This will be empty
when all the records get successfully
processed. In case of multiple GL Cross
Reference data in the input and there
are one/multiple/all failures, the error/
warning reasons for each of the non-
successful Cross Reference data will be
captured here.

Table 5-131 Errors - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)This column indicates the location the
account code is valid for
totalYesString (10)This column indicates the type of total
the account is valid for.
rollupLevel1YesString (120)This column indicates the frst rollup
level of total.
rollupLevel2YesString (120)This column indicates the second rollup
level of total.
rollupLevel3YesString (120)This column indicates the third rollup
level of total.
setOfBooksIdYesNumber (15)Oracle set of books for Oracle Retail
transactions.
errorMessageYesArray of
String
References a collection of errors for a
given setOfBooksId, dept, class, subclass,
location, transactionCode, costRetailInd,
lineType, transactionReferenceNo
record.
Sample Response Message
{
  "message": "Processed Successfully",
  "errors": [
    {
      "store": null,
      "total": null,
      "rollupLevel1": null,
      "rollupLevel2": null,
      "rollupLevel3": null,
      "setOfBooksId": null,
      "errorMessage": [
        "null"
      ]
    }
  ]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Terms

The following services are included in this functional area:

  • Freight Term Upload Service

  • Payment Term Upload Service

Freight Term Upload Service

Manage Freight Term

Functional Area

Financials - Terms

Business Overview

This service is exposed to allow an external financial system to manage freight terms in Merchandising. Freight Terms are financial arrangement information related to shipping that can be subscribed to by Merchandising from a financial system. Freight terms are the terms for shipping - for example, the freight terms could be a certain percentage of the total cost; a flat fee per order, etc. After confirming the validity of the records enclosed within the message, Merchandising is updated with the information.

Both new records and updates to already existing ones are sent through this single service. Freight Terms and external reference ID are optional fields. If both are empty or the external reference ID does not map to an existing record, a new ID will be generated to create the freight term. If both are passed, Freight Terms will be used to create or update the record. If

only the external reference ID is provided and more than one matching record is found, service will raise an error.

When a new freight term is created, this service will validate that all required fields such as description, enabled flag, start and end dates are present in the message. After this field validation is completed successfully, the freight term record in the message will be inserted if the term does not exist. If the freight term exists, then the external reference ID, dates and enabled flag will be updated.

Service Type

PUT

ReST URL
MerchIntegrations/services/financials/terms/freightTerm/manage

Input Payload Details

Table 5-132 Manage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
freightTermsNoString (30)Contains a number
that uniquely identifes
the freight terms.
externalReferenceIdNoString (50)Contains the ID for the
freight terms used in
the external fnancial
system.
descriptionYesString (240)Contains a description
of the freight terms
used in the system.
enabledFlagYesString (1)Indicates whether the
freight terms are valid
or invalid within the
respective application.
Valid values are ‘Y’es
or ‘N’o. If interface is
from Oracle Financials,
the Check_Enabled
logic will be bypassed
which means feld
would not be required.
startActiveDateNodateIndicates the date for
assigning an active
date to the Freight
Terms.
endActiveDateNodateIndicates the date for
assigning an inactive
date to the Freight
Terms.
Sample Input Message
{
  "freightTerms": "FTTERM01",
  • "externalReferenceId": "FTTERM55",
  "description": "Freight Term 01",
  "enabledFlag": "Y",
  "startActiveDate": "2001-12-31",
  "endActiveDate": "2001-12-31"
}

Response Code: 200 (Success)

Table 5-133 ManageResponse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
statusYesString (10)Status code for a
successful service call.
freightTermsYesString (30)Contains a number
that uniquely identifes
the freight terms.
externalReferenceIdNoString (50)Contains the ID for the
freight terms used in
the external fnancial
system.
Sample Response Message
{
  "status": "SUCCESS",
  "freightTerms": "FTTERM01",
  "externalReferenceId": "FTTERM55"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Payment Term Upload Service

Create Payment Term

Functional Area

Financials - Terms
Business Overview

This service is used by Oracle Retail Financial Integration (RFI) for integration of payment terms with PeopleSoft Financials, and can also be used by an external financial system to send new payment terms information to Merchandising. Terms and external reference Id are optional fields. If Terms id is empty, a new Id will be generated to create the payment term.

Service Type
POST
ReST URL
MerchIntegrations/services/financials/terms/paymentTerm/create
Input Payload Details

Table 5-134 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
termsNoString (15)Unique id for this payment term.
externalReferenceIdNoString (50)ID for the supplier terms used in the
external fnancial system.
termsCodeYesString (50)The alpha value which acts as the
Term code in Oracle Financials.
descriptionYesString (240)Description of the payment terms.
rankNoNumber (10)Unique rank to rate invoice payment
terms against PO terms
detailsNoCollection of
Object
Child node.

Table 5-135 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
termsSequenceYesNumber (10)Sequence for the discount percent
and part of unique identifer for the
detail line.
dueDaysYesNumber (3)The number of days until payment is
due.
dueMaximumAmountYesNumber
(12,4)
Maximum payment amount due by a
certain date.
dueDayOfMonthYesNumber (2)Day of month used to calculate due
date.
discountDaysYesNumber (3)Number of days in which payment
must be made to get the discount.
percentYesNumber
(12,4)
Percentage used to calculate discount
available.
discountDayOfMonthYesNumber (2)Day of month used to calculate
discount date.
discountMonthForwardYesNumber (3)Number of months ahead to calculate
discount date.

Table 5-135 (Cont.) Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fxedDateNodateFixed due date.
enabledFlagYesString (1)Indicates whether the Payment terms
are valid or invalid within the
respective application. The values
would be either (Y)es or (N)o.
startActiveDateNodateStart date terms are in effect.
endActiveDateNodateEnd date terms are in effect.
dueMonthForwardYesNumber (3)Number of months ahead to calculate
due date.
cutoffDayYesNumber (2)Day of month after which the
following month will be used for
calculations.
Sample Input Message
{
  "terms": "55",
  "externalReferenceId": "55",
  "termsCode": "55",
  "description": "55 termsDesc",
  "rank": 12,
  "details": [
    {
      "termsSequence": 1,
      "dueDays": 100,
      "dueMaximumAmount": 12.95,
      "dueDayOfMonth": 10,
      "discountDays": 100,
      "percent": 3,
      "discountDayOfMonth": 10,
      "discountMonthForward": 100,
      "fixedDate": "2001-12-31",
      "enabledFlag": "N",
      "startActiveDate": "2001-12-31",
      "endActiveDate": "2001-12-31",
      "dueMonthForward": 100,
      "cutoffDay": 10
    }
  ]
}

Response Code: 200 (Success)

Table 5-136 CreateResponse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
statusYesString (10)Status code for a successful service
call.

Table 5-136 (Cont.) CreateResponse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
termsYesString (15)Unique id for this payment term.
externalReferenceIdNoString (50)ID for the supplier terms used in the
external fnancial system.
Sample Response Message
{
  "status": "SUCCESS",
  "terms": "55",
  "externalReferenceId": "55"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Create Payment Term Detail

Functional Area

Financials - Terms
Business Overview

This service can be used by an external financial system to send additional details for existing payment terms to Merchandising. Terms and external reference ID are optional fields, but at least one must be provided when adding details to an existing payment term. If both are passed, Terms will be used to identify the record. If only the external reference ID is provided, it will be used to find a matching payment term. If more than one record is found, service will raise an error.

Service Type

POST
ReST URL
MerchIntegrations/services/financials/terms/paymentTerm/detail/create

Input Payload Details

Table 5-137 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
termsNoString (15)Unique id for this payment term.
externalReferenceIdNoString (50)ID for the supplier terms used in the
external fnancial system.
termsCodeYesString (50)The alpha value which acts as the
Term code in Oracle Financials.
descriptionYesString (240)Description of the payment terms.
rankNoNumber (10)Unique rank to rate invoice payment
terms against PO terms
detailsNoCollection of
Object
Child node.

Table 5-138 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
termsSequenceYesNumber (10)Sequence for the discount percent
and part of unique identifer for the
detail line.
dueDaysYesNumber (3)The number of days until payment is
due.
dueMaximumAmountYesNumber
(12,4)
Maximum payment amount due by a
certain date.
dueDayOfMonthYesNumber (2)Day of month used to calculate due
date.
discountDaysYesNumber (3)Number of days in which payment
must be made to get the discount.
percentYesNumber
(12,4)
Percentage used to calculate discount
available.
discountDayOfMonthYesNumber (2)Day of month used to calculate
discount date.
discountMonthForwardYesNumber (3)Number of months ahead to calculate
discount date.
fxedDateNodateFixed due date.
enabledFlagYesString (1)Indicates whether the Payment terms
are valid or invalid within the
respective application. The values
would be either (Y)es or (N)o.
startActiveDateNodateStart date terms are in effect.
endActiveDateNodateEnd date terms are in effect.
dueMonthForwardYesNumber (3)Number of months ahead to calculate
due date.
cutoffDayYesNumber (2)Day of month after which the
following month will be used for
calculations.
Sample Input Message
{
  "terms": "55",
  "externalReferenceId": "55",
  "termsCode": "55DTLADD",
  "description": "55DESCDTLADD",
  "rank": 14,
  "details": [
    {
      "termsSequence": 2,
      "dueDays": 100,
      "dueMaximumAmount": 12.95,
      "dueDayOfMonth": 10,
      "discountDays": 100,
      "percent": 4,
      "discountDayOfMonth": 10,
      "discountMonthForward": 100,
      "fixedDate": "2001-12-31",
      "enabledFlag": "N",
      "startActiveDate": "2001-12-31",
      "endActiveDate": "2001-12-31",
      "dueMonthForward": 100,
      "cutoffDay": 12
    }
  ]
}

Response Code: 200 (Success)

Table 5-139 CreateResponse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
statusYesString (10)Status code for a successful service
call
Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Update Payment Term

Functional Area

Financials - Terms

Business Overview

This service can be used by an external financial system to send updated payment terms information to Merchandising. Terms and external reference ID are optional fields, but at least one must be provided when updating a payment term. If both are passed, Terms will be used to identify the record. If only the external reference ID is provided, it will be used to find a matching payment term. If more than one record is found, the service will raise an error.

For more details on Payment Terms, see the Create Payment Term service description.

Service Type

PUT

ReST URL

MerchIntegrations/services/financials/terms/paymentTerm/update

Input Payload Details

Table 5-140 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
termsNoString (15)Unique id for this payment term.
externalReferenceIdNoString (50)ID for the supplier terms used in the
external fnancial system.
termsCodeYesString (50)The alpha value which acts as the
Term code in Oracle Financials.
descriptionYesString (240)Description of the payment terms.
rankNoNumber (10)Unique rank to rate invoice payment
terms against PO terms
Sample Input Message
{
  "terms": "55",
  "externalReferenceId": "55",
  "termsCode": "55HDRUPD",
  "description": "55 TERMS Description HDR UPD",
  "rank": 13
}

Response Code: 200 (Success)

Table 5-141 UpdateResponse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
statusYesString (10)Status code for a successful service
call
Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Update Payment Term Detail

Functional Area

Financials - Terms
Business Overview

This service can be used by an external financial systems to send detail level updates to the payment terms that already exist within Merchandising. Terms and external reference ID are optional fields, but at least one must be provided when updating details of an existing payment term. If both are passed, Terms will be used to identify the record. If only the external reference ID is provided, it will be used to find a matching payment term. If more than one record is found, service will raise an error.

Service Type

PUT

ReST URL
MerchIntegrations/services/financials/terms/paymentTerm/detail/update
Input Payload Details

Table 5-142 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
termsNoString (15)Unique id for this payment term.
externalReferenceIdNoString (50)ID for the supplier terms used in the
external fnancial system.
termsCodeYesString (50)The alpha value which acts as the
Term code in Oracle Financials.
descriptionYesString (240)Description of the payment terms.
rankNoNumber (10)Unique rank to rate invoice payment
terms against PO terms
detailsNoCollection of
Object
Child node.

Table 5-143 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
termsSequenceYesNumber (10)Sequence for the discount percent
and part of unique identifer for the
detail line.
dueDaysYesNumber (3)The number of days until payment is
due.
dueMaximumAmountYesNumber
(12,4)
Maximum payment amount due by a
certain date.
dueDayOfMonthYesNumber (2)Day of month used to calculate due
date.
discountDaysYesNumber (3)Number of days in which payment
must be made to get the discount.
percentYesNumber
(12,4)
Percentage used to calculate discount
available.
discountDayOfMonthYesNumber (2)Day of month used to calculate
discount date.
discountMonthForwardYesNumber (3)Number of months ahead to calculate
discount date.
fxedDateNodateFixed due date.
enabledFlagYesString (1)Indicates whether the Payment terms
are valid or invalid within the
respective application. The values
would be either (Y)es or (N)o.
startActiveDateNodateStart date terms are in effect.
endActiveDateNodateEnd date terms are in effect.
dueMonthForwardYesNumber (3)Number of months ahead to calculate
due date.
cutoffDayYesNumber (2)Day of month after which the
following month will be used for
calculations.
Sample Input Message
{
  "terms": "55",
  "externalReferenceId": "55",
  "termsCode": "55DTLUPD",
  "description": "55DESCDTLUPD",
  "rank": 14,
  "details": [
    {
      "termsSequence": 2,
      "dueDays": 55,
      "dueMaximumAmount": 12.95,
      "dueDayOfMonth": 10,
      "discountDays": 55,
      "percent": 4,
      "discountDayOfMonth": 10,
      "discountMonthForward": 100,
      "fixedDate": "2001-12-31",
      "enabledFlag": "N",
      "startActiveDate": "2001-12-31",
      "endActiveDate": "2001-12-31",
      "dueMonthForward": 55,
      "cutoffDay": 12
    }
  ]
}

Response Code: 200 (Success)

Table 5-144 UpdateResponse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
statusYesString (10)Status code for a successful service
call
Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Transaction Data

The following services are included in this functional area:

  • Transaction Data Upload Service

Transaction Data Upload Service

Manage Transaction Data

Functional Area

Financials

Business Overview

The primary role of this service is to create transaction data records in the stock ledger, such as to adjust previously posted transactions. If the transaction is marked for WAC recalculation, it will recalculate the WAC for the item/location at the same time. The transactions written by this service will not impact unit inventory in Merchandising.

Service Type

Post

ReST URL
/Financials/uploadTranData

Input Parameters

Parameter NameRequiredData TypeDescription
ItemNoStringItem Identifcation
DeptYesNumberDepartment Id
ClassYesNumberClass Id
SubclassYesNumberSubclass Id
LocTypeYesStringLocation Type, Valid values areS-
Store,W-Warehouse andE-External
Finisher.
LocationYesNumberLocation ID
TranDateNoDateDate of Transaction.
(Format:DD-MON-YYYY). If null, vdate
will be populated.
TranCodeYesNumberTransaction Type Identifcation.
Parameter NameRequiredData TypeDescription
AdjCodeNoStringType of Adjustment. Valid values areA-
Actual Landed Cost Adjustment,C-Cost
Adjustment,U-Unit Adjustment.
UnitsYesBigDecimalNumber of units involved in
transaction.
TotalCostNoBigDecimalTotal Cost associated with transaction.
TotalRetailNoBigDecimalTotal Retail value associated with
transaction.
RefNo1NoStringReference number associated with
transaction.
RefNo2NoStringReference number associated with
transaction.
GLRefNoNoStringReference number associated with
transactions, and is used for defning
the General Ledger account
relationship, along with dept, class,
subclass, location and tran_code.
OldUnitRetailNoBigDecimalOld Unit Retail
NewUnitRetailNoBigDecimalNew Unit Retail
PgmNameNoStringIdentifes the Oracle Retail module
which inserted the record into the
transaction data table.
SalesTypeNoStringType of Sale.Valid Values are
‘C’learance,’P’romotion and ‘R’egular.
VatRateNoBigDecimalVAT Rate
Avg CostNoBigDecimalAverage cost for the SKU
RefPackNoNoStringPack Number for the transaction item.
TotalCostExclusiveELCNoBigDecimalCost Exclusive for ELC
WACRecalcIndicatorNoStringWAC should be recalculated.Valid
values areY-Yes orN-No.
Example JSON input
[
  {
    "item": "string",
    "dept": 0,
    "classId": 0,
    "subClass": 0,
    "locType": "string",
    "location": 0,
    "tranDate": "string",
    "tranCode": 0,
    "adjCode": "string",
    "units": 0,
    "totalCost": 0,
    "totalRetail": 0,
    "refNo1": "string",
    "refNo2": "string",
    "glRefNo": "string",
    "oldUnitRetail": 0,
    "newUnitRetail": 0,
    "pgmName": "string",
    "salesType": "string",
    "vatRate": 0,
    "avCost": 0,
    "refPackNo": "string",
    "totalCostExclElc": 0,
    "wacRecalcInd": "string"
    "hyperMediaContent": {}
  }
]

Output

Table 5-145 RestTranDataStatusRec

Parameter NameData Type
Status MessageString
TranDataErrorTBLList< RestTranDataFailTbl>

Table 5-146 TranDataErrorTBL

Parameter NameData Type
ItemString
DeptNumber
ClassNumber
SubclassNumber
Location TypeString
LocationNumber
Tran CodeNumber
UnitsBigDecimal
Total CostBigDecimal
Total RetailBigDecimal
RefNo1String
RefNo2String
GLRefNoString
WACRecalcIndicatorString
ErrorMessageString

Table Impact

TABLESELECTINSERTUPDATEDELETE
TRAN_DATANoYesNoNo
ITEM_MASTERYesNoNoNo
DEPSYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
SUBCLASSYesNoNoNo
STOREYesNoNoNo
WHYesNoNoNo
PARTNERYesNoNoNo
TRAN_DATA_CODESYesNoNoNo
ITEM_LOCYesNoNoNo
ITEM_LOC_SOHYesNoYesNo
VAT_RATEYesNoNoNo
VAT_REGIONYesNoNoNo
PACKITEMYesNoNoNo
SYSTEM_OPTIONSYesNoNoNo
PERIODYesNoNoNo

Foundation

The following services are included in this functional area:

  • Banners and Channels Download Service

    • Get Banners

    • Get Channels

  • Location List Upload Service

    • Manage Location Lists
  • Location Trait Upload Service

    • Create Location Trait

    • Delete Location Trait

    • Update Location Trait

  • Suppliers and Partners

    • Partner Download Service

    • Supplier and Partner Upload Service

    • Supplier Download Service

    • – Supplier Upload Service

  • Tax Rules

    • Tax Rule Download Service

      • Get Item Location Tax Rules

      • Get Store Tax Location

      • Get Tax Rule Groups

    • Tax Rule Upload Service

Banners and Channels Download Service

The following services are included in this functional area:

  • Get Banners

  • Get Channels

Get Banners

Endpoints

/MerchIntegrations/services/foundation/banners

Functional Area

Foundation

Business Overview

This service retrieves all Banners. This service takes an optional query parameter of bannerId to retrieve detail for specified banner id

Service Type

GET

ReST URL
MerchIntegrations/services/foundation/banners
Input Parameters
Parameter NameRequiredData TypeDescription
bannerIdNoString (4)Banner ID
Output – Banner

Table 5-147 Banner - Object. See list of elements for detail

Element NameRequiredData TypeDescription
bannerIdYesNumberThis feld contains the
banner id.
bannerNameYesString (120)This feld contains the
banner name.
Sample Response Message
[
{
"bannerId": 1,
"bannerName": "Brick and mortar"
}
]
Table Impact
TABLESELECTINSERTUPDATEDELETE
BANNERYesNoNoNo

Get Channels

Endpoint

/MerchIntegrations/services/foundation/channels

Functional Area

Foundation

Business Overview

This service retrieves all Channel records. This service takes an optional query parameter of channel id to retrieve detail for specified channel

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/channels

Input Parameters
Parameter NameRequiredData TypeDescription
channelIdNoString (4)Channel Id
Output – Channel

Table 5-148 Channel - Object. See list of elements for detail

Element NameRequiredData TypeDescription
channelIdYesNumberThis feld contains the
channel id.
channelNameYesString (120)This feld contains the
channel name.

Table 5-148 (Cont.) Channel - Object. See list of elements for detail

Element NameRequiredData TypeDescription
channelTypeYesString (6)This feld contains the
channel type. Channel
type is a user
confgured value
defned in Code Detail
with code_type as
CHTY. Default values
(which can be
changed) are BANDM -
Brick and Mortar,
WEBSTR - Webstore,
CAT - Catalog.
bannerIdYesNumberThis feld contains the
banner id associated
with this Channel.
Sample Response Message
[
{
"channelId": 1,
"channelName": "Brick and mortar",
"channelType": "BANDM",
"bannerId": 1
}
]
Table Impact
TABLESELECTINSERTUPDATEDELETE
CHANNELSYesNoNoNo

Location List Upload Service

The following services are included in this functional area:

  • Manage Location Lists

Manage Location Lists

Functional Area
Foundation
Business Overview

This service allows for the creation and management of externally generated static location lists, as well as managing translated location list descriptions. Externally generated location lists are a list of explicitly provided stores and/or virtual warehouses. Static location lists cannot be rebuilt; no criteria is stored against externally generated static location lists. These lists can

only be maintained through the web service; no updates are allowed through the Merchandising user interface. Externally generated location lists are always public. Restricting the modification of an externally generated list should be handled in the source system.

This service supports three actions: Create, Update and Delete. The Create action allows the creation of a new location list, along with a list of one or more stores and/or stock-holding virtual warehouses that are not finishers to be grouped within. The Update action supports edits to location list definitions, adding or deleting of stores or virtual warehouses grouped in a list and adding or deleting translations of location list descriptions. The Delete action supports the ability to delete an entire location list. Physical warehouses can be passed to the service to be added to or deleted from a given list, the result will be the addition or removal of all virtual warehouses within the provided physical warehouse to/from the location list.

If Data Filtering is enabled in Merchandising through system options, you can control which users may use a given location list within Merchandising solutions by providing a filter organizational identifier with the list. This identifier can be for a chain, area, region or district depending on the Data Filtering Location List Organization Hierarchy level selected in system options. For example, if the system option level is area, then an area can be associated with a location list. Subsequently, only users with data filtering access to that area are able to use that location list on transactions throughout Merchandising. If no filter organizational identifier is associated with a location list, then any user can use the list within Merchandising.

Upon successful completion the service returns success along with the location list identifier and, if provided, the external reference. If there are upload validation errors the entire message is rejected and the service returns a failure status, along with a list of errors for each location list identifier, external reference, and location.

Service Type

PUT

ReST URL
MerchIntegrations/services/foundation/locationLists/manage
Input Payload Details

Table 5-149 Manage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of Location List
ObjectData.

Table 5-150 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionYesString (10)Specifes the intended action to create,
update or delete an externally
generated location list. Valid values are
CREATE, UPDATE, or DELETE.

Table 5-150 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
locationListNoNumber (10)Contains a location list identifer.
When creating a location list, if a value
is not provided, the system will create
a unique sequence-generated
identifer. For action as UPDATE,
DELETE and if this value is provided,
then it will be used to identify the
location list.
locationListDescriptionNoString (120)Contains the location list description.
This is mandatory feld with action as
CREATE.
externalReferenceNoNoNumber (20)This feld will optionally contain an
external reference number used by an
external system to identify the location
list. For action as UPDATE and DELETE,
if the location list id is not provided,
then this feld is mandatory.
flterOrganizationHierarchyNoNumber (10)When Data Filtering is enabled in the
system, the Filter Organizational
Hierarchy may contain the
Organizational Hierarchy value to
which the Location List is assigned.
This feld will be used to control the
Location Lists a user can use, based on
whether the user has data fltering
access to the Filter Organizational
Hierarchy value
commentsNoString (2000)Contains comments about the location
list. For externally generated lists user
may wish to provide information
about the list origins or intended use.
locationsNoCollection of
Object
References a collection of location list
locations.
translationsNoCollection of
Object
References a collection of translations
of the location list description feld.

Table 5-151 Locations - Object. See list of elements for detail

Element NameRequiredData TypeDescription
locationTypeYesString (1)This feld will carry the location type of
the location being added to or deleted
from the location list. Valid values for
this feld are Store (S) or Warehouse
(W).

Table 5-151 (Cont.) Locations - Object. See list of elements for detail

Element NameRequiredData TypeDescription
locationYesNumber (10)This feld will contain a location to be
added to or deleted from the location
list. The provided location may be a
store, a stockholding virtual
warehouses that is not fnisher, or a
physical warehouse. If a physical
warehouse is provided, all
stockholding/non-fnisher virtual
warehouses within that physical
warehouse will be added or deleted.
deleteIndNoString (1)This optional feld indicates if an
existing location (or all virtual
warehouses matching a physical
warehouse location) should be deleted
from a location list. This feld will not
have a value as Y with action as
CREATE.

Table 5-152 Translations - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageYesNumber (6)This feld contains the language ID.
locationListDescriptionNoString (120)This feld contains the translated
description of the location list in the
provided language. This feld is
mandatory is the translation tag is
present. This feld is not needed for
delete of an existing translation.
deleteIndNoString (1)This optional feld indicates if an
existing translation should be deleted
from a location list.

Table 5-153 ManageError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
locationListYesNumber (10)Contains a location list identifer.
externalReferenceNoYesNumber (20)This feld will optionally contain an
external reference number used by an
external system to identify the location
list.
errorsYesArray of
String
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "action": "CREATE",
      "locationList": 585313,
      "locationListDescription": "location list description",
      "externalReferenceNo": 157810,
      "filterOrganizationHierarchy": 126882,
      "comments": "comments",
      "locations": [
        {
          "locationType": "S",
          "location": 190104,
          "deleteInd": "N"
        }
      ],
      "translations": [
        {
          "language": 2,
          "locationListDescription": "Standortliste Beschreibung",
          "deleteInd": "N"
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Table 5-154 ManageResponse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection of
Object

Table 5-155 ManageResponse.Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
locationListYesNumber (10)Contains a location list identifer.
externalReferenceNoYesNumber (20)This feld will optionally contain an
external reference number used by an
external system to identify the
location list.
Sample Response Message
{
  "items": [
    {
      "locationList": 585313,
      "externalReferenceNo": 157810
    }
  ]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service. The element businessError will be present if the payload passes schema validation but an exception is caught while processing the business logic.

Table 5-156 ManageError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
locationListYesNumber (10)Contains a location list identifer.
externalReferenceNoYesNumber (20)This feld will optionally contain an
external reference number used by an
external system to identify the location
list.
errorsYesArray of
String
Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    {
      "locationList": 585313,
      "externalReferenceNo": 433378,
      "errors": [
        "String"
      ]
    }
  ]
}

Location Trait Upload Service

The following services are included in this functional area:

  • Create Location Trait

  • Delete Location Trait

  • Update Location Trait

Create Location Trait

Functional Area

Foundation

Business Overview

The service is used to create location traits within Merchandising in order to keep it in sync with an external system that is used to maintain location traits. While a location trait is being created, this service will first validate that all required fields are present in the payload. Next, business level validations will be performed on the input information. Once all the validations are met, the location trait gets created in Merchandising.

Service Type

POST

ReST URL
MerchIntegrations/services/foundation/locationTrait/create
Input Payload Details

Table 5-157 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
traitIdYesNumber (4)The unique id number of the location
trait.
descriptionYesString (120)The description of the location trait.
Sample Input Message
{
  "traitId": 1000,
  "description": "traitDesc"
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Delete Location Trait

Functional Area
Foundation
Business Overview

The service is used to delete an existing location trait from Merchandising in order to keep it in sync with an external system that is used to maintain location traits. While deleting a location trait, this service will first validate that all required fields are present in the payload. If all the validations are met, the location trait data is deleted from Merchandising.

Service Type
DELETE
ReST URL
MerchIntegrations/services/foundation/locationTrait/delete
Input Payload Details

Table 5-158 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
traitIdYesNumber (4)The id number of the location trait
being deleted.
Sample Input Message
{
  "traitId": 1000
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Update Location Trait

Functional Area

Foundation

Business Overview

This service is used to update existing location traits within Merchandising in order to keep it in sync with an external system that is used to maintain location traits. While updating a location trait, this service will first validate that all required fields are present in the payload. Next, business level validations will be performed on the input information. Once all the validations are met, the location trait data gets updated in Merchandising.

Service Type

PUT

ReST URL
MerchIntegrations/services/foundation/locationTrait/update
Input Payload Details

Table 5-159 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
traitIdYesNumber (4)The unique id number of the location
trait.
descriptionYesString (120)The description of the location trait.
Sample Input Message
{
  "traitId": 1000,
  "description": "traitDesc"
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Suppliers and Partners

The following services are included in this functional area:

  • Partner Download Service

  • Supplier and Partner Upload Service

  • Supplier Download Service

  • Supplier Upload Service

Partner Download Service

Partner Publish Services

Endpoints

MerchIntegrations/services/foundation/partner
MerchIntegrations/services/foundation/partner/{partnerId}

Functional Area

Foundation - Partners

Business Overview

This service publishes partner master data to downstream consuming systems. There is no explicit filter in V_MERCHAPI_EXT_PARTNER_JSON, so functionally all rows from PARTNER are eligible for publication.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: PARTNER, PARTNER_ADDR

Additional business tables: ADDR, ADD_TYPE_MODULE, V_ADD_TYPE_TL, STATE, COUNTRY, PARTNER_CFA_EXT, ADDR_CFA_EXT

JSON cache table: MERCHAPI_EXT_PARTNER

JSON generation view: V_MERCHAPI_EXT_PARTNER_JSON

Builds the partner header from PARTNER, derives the primary address from ADDR joined to ADD_TYPE_MODULE, V_ADD_TYPE_TL, STATE, and COUNTRY, aggregates all partner addresses from ADDR, and adds partner- and address-level custom flex attributes from MERCHAPI_EXT_PARTNER_CFA and MERCHAPI_EXT_PARTNER_ADDR_CFA.

There is no explicit filter in V_MERCHAPI_EXT_PARTNER_JSON, so functionally all rows from PARTNER are eligible for publication.

The primary-address portion of the payload uses ADDR.MODULE = ‘PTNR’, ADD_TYPE_MODULE.PRIMARY_IND = ‘Y’, and ADDR.PRIMARY_ADDR_IND = ‘Y’; the address array includes all partner addresses for ADDR.MODULE = ‘PTNR’.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_EXT_PARTNER_JSON and apply no additional filter criteria; all PARTNER rows are eligible for publication.

The REBUILD branch updates changed and new rows and marks missing cache rows with DELETE_DATETIME.

ICL (Integration Change Log) table: ICL_RMS_PARTNER and ICL_RMS_ADDR (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on PARTNER, and address-related republishes are captured through ICL_RMS_ADDR for PARTNER_ADDR and PARTNER_ADDR_CFA_EXT changes.

ICL_RMS_ADDR rows are filtered to MODULE = ‘PTNR’ and ICL_TABLE_NAME IN (‘PARTNER_ADDR’,‘PARTNER_ADDR_CFA_EXT’), then republish the parent partner payload.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_PARTNER

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_PARTNER_ADHOC_PROCESS MERCHAPI_EXT_PARTNER_ADHOC_JOB

Webhook configuration api name: foundation/partner

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/partner

MerchIntegrations/services/foundation/partner/{partnerId}

Input Parameters for ​​MerchIntegrations/services/foundation/partner

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoString (17)Offset key ([partner
type],[partner id]
Example: AG,17)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-160 Input Parameter for “MerchIntegrations/services/foundation/partner/ {partnerId}“

Parameter NameRequiredData TypeDescription
partnerIdYesString
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Input Parameters for MerchIntegrations/services/foundation/partner/{partnerId}

Parameter NameRequire
d
Data TypeDescription
partnerIdYesStringPartner ID
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Output - Partner

Table 5-161 PageResultsItemsMerchApiPartner - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-162 MerchApiPartner - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for partner
details.
partnerTypeNoString (6)Specifes the type of
partner. Valid partner
types are held on the
code tables under code
type PTNR.
partnerIdNoString (10)This feld contains the
unique number that
identifes the partner
within the system.
partnerNameNoString (240)This feld contains the
partner’s description
or name.
partnerNameSecondar
y
NoString (240)This feld contains the
secondary name of the
partner.
currencyCodeNoString (3)This feld contains a
code identifying the
currency the partner
uses for business
transactions.
languageNoNumber(6,0)This feld contains the
partner’s preferred
language.
statusNoString (1)This feld indicates if
the partner is
currently active.
contactNameNoString (120)This feld contains the
name of the partner’s
representative contact.
contactPhoneNoString (20)This feld contains the
phone number of the
partner’s
representative contact.
contactFaxNoString (20)This feld contains the
fax number of the
partner’s
representative contact.
contactTelexNoString (20)This feld contains the
telex number of the
partner’s
representative contact.
contactEmailNoString (100)This feld contains the
email address of the
partner’s
representative contact.

Table 5-162 (Cont.) MerchApiPartner - Object. See list of elements for detail

Element NameRequiredData TypeDescription
manufacturerTaxIdNoString (18)This feld contains the
manufacturer’s tax
identifcation number.
This feld is used for
partner type
Manufacturer.
principleCountryIdNoString (3)This feld contains the
country ID to which
the partner is
assigned.
lineOfCreditNoNumber(20,4)This feld contains the
line of credit the
company has at the
bank in the partner’s
currency. This feld is
not null when the
partner type is Bank
(BK).
outstandingCreditNoNumber(20,4)This feld contains the
total amount of credit
that the company has
used or has charged
against in the
partner’s currency.
This feld is not null
when the partner type
is Bank (BK).
openCreditNoNumber(20,4)This feld contains the
total amount that the
company can still
charge against in the
partner’s currency.
This feld is not null
when the partner type
is Bank (BK).
yearToDateCreditNoNumber(20,4)This feld contains the
total amount of credit
the company has used
year to date in the
partner’s currency.
This feld is not null
when the partner type
is Bank (BK).
yearToDateDrawdown
s
NoNumber(20,4)This feld contains the
year-to-date payments
the bank has made on
behalf of the company
in the partner’s
currency. This feld is
not null when the
partner type is Bank
(BK).

Table 5-162 (Cont.) MerchApiPartner - Object. See list of elements for detail

Element NameRequiredData TypeDescription
taxIdNoString (20)This feld contains the
unique tax
identifcation number
of the partner. This
will be used for
reporting during the
Customs Entry
process.
termsNoString (15)This feld contains the
payment terms for the
partner. These terms
specify when payment
is due and if any
discounts exist for
early payment. If
populated, they will
default on any invoice
entered for this
partner.
servicePerfReqIndNoString (1)This feld indicates if
the expense vendor’s
services (for example,
snowplowing and
window washing)
must be confrmed as
performed before
paying an invoice
from that expense
vendor. Valid values
are Y and N.
invoicePayLocationNoString (6)This feld indicates
where invoices from
this expense vendor
are paid, either at the
store or centrally
through corporate
accounting. Valid
values are S and C.
This feld will only be
populated for expense
vendors, and should
only be S if using ReSA
to accept payment at
the store.

Table 5-162 (Cont.) MerchApiPartner - Object. See list of elements for detail

Element NameRequiredData TypeDescription
invoicecReceiveLocati
on
NoString (6)This feld indicates
where invoices from
this expense vendor
are received, either at
the store or centrally
through corporate
accounting. Valid
values are S and C.
This feld should only
be populated when
using invoice
matching.
importCountryIdNoString (3)This feld contains the
import country of the
Import Authority. This
feld is not populated
for other partner
types.
primaryImportAuthIn
d
NoString (1)This feld indicates if
an Import Authority is
the primary Import
Authority for an
import country. This
feld will always be N
for other partner
types. There must be
one and only one
primary Import
Authority for each
country associated
with an Import
Authority on the
partner table.
commentsNoString (2000)This feld contains any
comments associated
with the partner.
transferEntityIdNoNumber(10,0)This feld contains the
transfer entity with
which an external
fnisher is associated.

Table 5-162 (Cont.) MerchApiPartner - Object. See list of elements for detail

Element NameRequiredData TypeDescription
vatRegionNoNumber(4,0)This feld contains the
tax region with which
a partner is associated.
Valid values will be
found on the
VAT_REGION table. If
SYSTEM_OPTIONS.DEF
AULT_TAX_TYPE is
SVAT or GTS, then each
partner will be
required to have an
associated
VAT_REGION. For
other
DEFAULT_TAX_TYPE
values, VAT
functionality is not
used and
PARTNER.VAT_REGION
will not be required.
orgUnitIdNoNumber(15,0)This feld contains the
org unit ID with which
the partner is
associated.
autoRcvStockIndNoString (1)This feld indicates
whether the system
will update the stock
for the external
fnisher when the frst
leg of the transfer is
shipped. Valid values
are Y and N.
primaryAddressTypeNoString (2)This feld specifes the
type for the address.
Valid values are: 01 -
Business, 02 - Postal,
03 - Returns, 04 -
Order, 05 - Invoice, 06 -
Remittance.
primaryAddressTypeD
escription
NoString (40)This feld specifes the
address type
description.
primaryAddressAdd1NoString (240)This feld contains the
frst line of the
address.
primaryAddressAdd2NoString (240)This feld contains the
second line of the
address.
primaryAddressAdd3NoString (240)This feld contains the
third line of the
address.

Table 5-162 (Cont.) MerchApiPartner - Object. See list of elements for detail

Element NameRequiredData TypeDescription
primaryAddressCityNoString (120)This feld contains the
name of the city that is
associated with the
address.
primaryAddressStateNoString (3)This feld contains the
abbreviation of the
state for the address.
primaryAddressStateN
ame
NoString (120)This feld contains the
full name of the state
for the address.
primaryAddressCount
ryId
NoString (3)This feld contains the
country where the
address exists.
primaryAddressCount
ryName
NoString (120)This feld contains the
country name for the
address.
primaryAddressPostNoString (30)This feld contains the
zip code for the
address.
primaryAddressContac
tName
NoString (120)This feld contains the
name of the contact
for the partner at this
address.
primaryAddressContac
tPhone
NoString (20)This feld contains the
phone number of the
contact person at this
address.
primaryAddressContac
tTelex
NoString (20)This feld contains the
telex number of the
partner’s
representative contact.
primaryAddressContac
tFax
NoString (20)This feld contains the
fax number of the
contact person at this
address.
primaryAddressContac
tEmail
NoString (100)This feld contains the
email address of the
partner’s
representative contact.
primaryAddressCount
y
NoString (250)This feld contains the
county name for the
address.
primaryAddressJurisdi
ctionCode
NoString (10)This feld identifes the
jurisdiction code for
the country-state
relationship.
createDateTimeNodateTimeThis feld holds the
date and time when
the record was
inserted (UTC).

Table 5-162 (Cont.) MerchApiPartner - Object. See list of elements for detail

Element NameRequiredData TypeDescription
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was
updated (UTC).
customFlexAttributeNoCollection of ObjectThis list holds custom
fex attributes for the
partner.
addressNoCollection of ObjectThis list holds address
details for the partner.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the partner record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-163 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-164 Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
addressKeyNoNumber(11,0)This feld contains the
unique address key.
addressTypeNoString (2)This feld specifes the
type for the address.
Valid values are: 01 -
Business, 02 - Postal,
03 - Returns, 04 -
Order, 05 - Invoice, 06 -
Remittance.
addressTypeDescriptio
n
NoString (40)This feld specifes the
address type
description.
primaryAddressIndNoString (1)This feld indicates
whether the address is
the primary address
for the address type.
add1NoString (240)This feld contains the
frst line of the
address.
add2NoString (240)This feld contains the
second line of the
address.
add3NoString (240)This feld contains the
third line of the
address.
cityNoString (120)This feld contains the
name of the city that is
associated with the
address.
stateNoString (3)This feld contains the
state abbreviation that
is associated with the
address.
stateNameNoString (120)This feld contains the
state description that
is associated with the
address.
countryIdNoString (3)This feld contains the
country where the
address exists.
countryNameNoString (120)This feld contains the
country description
that is associated with
the address.
postNoString (30)This feld contains the
zip code for the
address.
contactNameNoString (120)This feld contains the
name of the contact
person at this address.

Table 5-164 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
contactPhoneNoString (20)This feld contains the
phone number of the
contact person at this
address.
contactTelexNoString (20)This feld contains the
telex number of the
contact person at this
address.
contactFaxNoString (20)This feld contains the
fax number of the
contact person at this
address.
contactEmailNoString (100)This feld contains the
email address of the
contact person at this
address.
phone2TypeNoString (6)This feld contains the
type of the phone
number stored in the
phone2 feld. Valid
values are AS -
Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work, and can also be
found on the codes
table with a code type
of PHTP.
phone2NoString (20)This feld contains an
additional phone
number associated
with the address.
phone3TypeNoString (6)This feld contains the
type of the phone
number stored in the
phone3 feld. Valid
values are AS -
Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work, and can also be
found on the codes
table with a code type
of PHTP.
phone3NoString (20)This feld contains a
second additional
phone number
associated with the
address.

Table 5-164 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
latitudeNoString (30)This feld contains the
north-south
geographic coordinate
of the address,
represented in
decimal degrees.
longitudeNoString (30)This feld contains the
east-west geographic
coordinate of the
address, represented
in decimal degrees.
countyNoString (250)This feld contains the
county where the
address exists.
jurisdictionCodeNoString (10)This feld contains the
ID associated with the
tax jurisdiction of the
country-state
relationship.
createDateTimeNodateTimeThis feld holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated (UTC).
customFlexAttributeNoCollection of ObjectThis List holds custom
fex attributes for the
warehouse’s address.

Table 5-165 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"partnerType": "AG",
"partnerId": null,
"partnerName": null,
"partnerNameSecondary": null,
"currencyCode": "USD",
"language": 1,
"status": null,
"contactName": "contactName",
"contactPhone": "1800800800",
"contactFax": "617-897-0902",
"contactTelex": null,
"contactEmail": "someone@email.com",
"manufacturerTaxId": null,
"principleCountryId": null,
"lineOfCredit": 1.0,
"outstandingCredit": 1.0,
"openCredit": 1.0,
"yearToDateCredit": 1.0,
"yearToDateDrawdowns": 1.0,
"taxId": null,
"terms": "108",
"servicePerfReqInd": null,
"invoicePayLocation": "S",
"invoicecReceiveLocation": null,
"importCountryId": null,
"primaryImportAuthInd": null,
"comments": null,
"transferEntityId": 1,
"vatRegion": 1000,
"orgUnitId": 1111111111,
"autoRcvStockInd": null,
"primaryAddressType": "01",
"primaryAddressTypeDescription": null,
"primaryAddressAdd1": "101 First Street",
"primaryAddressAdd2": "201 Second Street",
"primaryAddressAdd3": null,
"primaryAddressCity": "Minneapolis",
"primaryAddressState": "MN",
"primaryAddressStateName": "stateName",
"primaryAddressCountryId": "US",
"primaryAddressCountryName": "countryName",
"primaryAddressPost": "55555-1234",
"primaryAddressContactName": "contactName",
"primaryAddressContactPhone": "1800800800",
"primaryAddressContactTelex": null,
"primaryAddressContactFax": "617-897-0902",
"primaryAddressContactEmail": "someone@email.com",
"primaryAddressCounty": "Some County",
"primaryAddressJurisdictionCode": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"address": [
{
"addressKey": 114772,
"addressType": "01",
"addressTypeDescription": null,
"primaryAddressInd": "Y",
"add1": "101 First Street",
"add2": "201 Second Street",
"add3": null,
"city": "Minneapolis",
"state": "MN",
"stateName": "MN",
"countryId": "US",
"countryName": "US",
"post": "55555-1234",
"contactName": "Laura Johnson",
"contactPhone": "1800800800",
"contactTelex": null,
"contactFax": "617-897-0902",
"contactEmail": "someone@email.com",
"phone2Type": "WO",
"phone2": "5551234567",
"phone3Type": "WO",
"phone3": "5551234567",
"latitude": "44.38129",
"longitude": "-92.03521",
"county": null,
"jurisdictionCode": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
],
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}

Output - Address

NameData TypeDescription
addressKeyNumberThis feld contains the unique address key.
addressTypeStringThis feld specifes type for the address. Valid
values are: 01 -Business, 02 - Postal, 03 -
Returns, 04 - Order, 05 - Invoice, 06 -
Remittance.
addressTypeDescriptionStringThis feld specifes address type description.
primaryAddressIndStringThis feld indicates whether the address is the
primary address for the address type.
add1StringThis feld contains the frst line of the address.
add2StringThis feld contains the second line of the
address.
add3StringThis feld contains the third line of the address.
cityStringThis feld contains name of the city that is
associated with the address.
stateStringThis feld contains name of the state that is
associated with the address.
stateNameStringThis feld contains name of the state description
that is associated with the address.
countryIDStringThis feld contains name of the country that is
associated with the address.
countryNameStringThis feld contains name of the country
description that is associated with the address.
postStringThis feld contains the zip code for the address.
contactNameStringThis feld contains the name of the contact
person at this address.
contactPhoneStringThis feld contains the phone number of the
contact person at this address.
contactTelexStringThis feld contains the telex number of the
warehouse’s representative contact.
contactFaxStringThis feld contains the fax number of the
contact person at this address.
contactEmailStringThis feld contains email address of the
warehouse’s representative contact.
countyStringThis feld contains the county where the
address exists.
jurisdictionCodeStringThis feld contains the ID associated to the tax
jurisdiction of the country-state relationship.
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record was
last updated.
customFlexAttributeThis list holds custom fex attributes for the
address.

Output - Custom Flex Attribute

NameData TypeDescription
nameStringThis feld will hold the custom fex attribute
name.
valueStringThis feld will hold the numeric or string value
of the custom fex attribute.
valueDateStringThis feld will hold the date value of the custom
fex attribute.
createDateTimeStringThis feld will hold the date time when the
custom fex attribute was inserted.
updateDateTimeStringThis feld will hold the date time when the
custom fex attribute was last updated.

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON output:
{
  "items": [
    {
      "action": "INSERT",
    "partnerType": "E",
    "partnerId": "B",
    "partnerName": "Packaging External Finisher updated",
    "partnerNameSecondary": "Packaging External Finisher",
    "currencyCode": "USD",
    "language": null,
    "status": "A",
    "contactName": "Elinor",
    "contactPhone": "1545223556",
    "contactFax": null,
    "contactTelex": null,
    "contactEmail": null,
    "manufacturerTaxId": null,
    "principleCountryId": "US",
    "lineOfCredit": null,
    "outstandingCredit": null,
    "openCredit": null,
    "yearToDateCredit": null,
    "yearToDateDrawdowns": null,
    "taxId": null,
    "terms": "1",
    "servicePerfReqInd": "N",
    "invoicePayLocation": null,
    "invoicecReceiveLocation": null,
    "importCountryId": null,
    "primaryImportAuthInd": "N",
    "comments": null,
    "transferEntityInd": 2000,
    "vatRegion": null,
    "orgUnitId": 1111111111,
    "autoRcvStockInd": "N",
    "primaryAddrAdd1": "Add1",
    "primaryAddrAdd2": null,
    "primaryAddrAdd3": null,
    "primaryAddrCity": "City",
    "primaryAddrState": null,
    "primaryAddrStateName": null,
    "primaryAddrCountryId": "US",
    "primaryAddrCountryName": "United States of America",
    "primaryAddrPost": null,
    "primaryAddrContactName": null,
    "primaryAddrContactPhone": null,
    "primaryAddrContactTelex": null,
    "primaryAddrContactFax": null,
    "primaryAddrContactEmail": null,
    "primaryAddrOracleVendorSiteId": null,
    "primaryAddrCounty": null,
    "primaryAddrJurisdictionCode": null,
    "createDateTime": "2021-05-07T09:23:59",
    "updateDateTime": "2021-05-07T09:23:59",
    "customFlexAttribute": [{
        "name": "LANGUAGE",
        "value": "German",
        "valueDate": null,
        "createDateTime": "2021-02-17T00:00:00",
        "updateDateTime": "2021-02-17T00:00:00"
    }, {
        "name": "COMPANY_SIZE",
        "value": "525",
        "valueDate": null,
        "createDateTime": "2021-02-17T00:00:00",
        "updateDateTime": "2021-02-17T00:00:00"
    }],
    "address": [{
        "addressKey": 20069,
        "addressType": "05",
        "primaryAddressInd": "Y",
        "add1": "Add1",
        "add2": null,
        "add3": null,
        "city": "City",
        "state": null,
        "stateName": null,
        "countryId": "US",
        "countryName": "United States of America",
        "post": null,
        "contactName": null,
        "contactPhone": null,
        "contactTelex": null,
        "contactFax": null,
        "contactEmail": null,
        "oracleVendorSiteId": null,
        "county": null,
        "jurisdictionCode": null,
        "createDateTime": "2021-02-16T00:00:00",
        "updateDateTime": "2018-09-20T00:00:00",
        "customFlexAttribute": null
    }, {
        "addressKey": 20068,
        "addressType": "01",
        "primaryAddressInd": "Y",
        "add1": "Add1",
        "add2": null,
        "add3": null,
        "city": "City",
        "state": null,
        "stateName": null,
        "countryId": "US",
        "countryName": "United States of America",
        "post": null,
        "contactName": null,
        "contactPhone": null,
        "contactTelex": null,
        "contactFax": null,
        "contactEmail": null,
        "oracleVendorSiteId": null,
        "county": null,
        "jurisdictionCode": null,
        "createDateTime": "2021-02-16T00:00:00",
        "updateDateTime": "2018-09-20T00:00:00",
        "customFlexAttribute": null
    }],
"hasMore": false,
  "limit": 10000,
  "count": 3,
  "links": [
    {
      "href": "https://rex.retail.us-phoenix-1.ocs.oc-test.com/rgbu-rex-rgbu-
dev1-mfcs19-1/MerchIntegrations/services/foundation/partner?
limit=10000&since=1970-01-01T00:00:00.001Z&before=2022-03-25T10:34:36.748111+0
0:00",
      "rel": "self"
    }
  ]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_PARTNERYesNoYesYes
ICL_RMS_ADDRYesNoYesYes
MERCHAPI_PARTNERYesYesYesYes
PARTNER_CFA_EXTYesNoNoNo
ADDR_CFA_EXTYesNoNoNo
V_ MERCHAPI_EXT_PARTNER_JSONYesNoNoNo

Supplier and Partner Upload Service

Manage Suppliers and Partners

Functional Area

Foundation - Suppliers and Partners

Business Overview

This service is used for the creation and update of suppliers, supplier sites, partners, org unit association, addresses and flex attributes from an external application.

When new suppliers or supplier sites are sent from an external system, they must contain the required header details, as well as address and org unit information. One or more org units can be associated with a supplier site using this service, if applicable. When creating a supplier parent, providing the supplier site information is optional. However, when creating or updating supplier sites, both supplier parent and supplier site information must be provided.

The following defaults are performed by the service:

Yes/No indicators are defaulted to No if not provided.

Settlement code - defaulted to N if not provided.

EDI sales report frequency - defaulted to NULL if the provided value is not D or W.

Supplier Quantity Level - defaulted to EA if not provided.

Inventory Management Level - Defaulted to D/S if not provided. Updating this value later will trigger deletion of all existing Supplier Inventory Management Records.

Delivery Policy - Defaulted to NEXT if not provided.

Invoice Gross Net - Defaulted to Net if not provided.

Mandatory addresses as defined in the system are defaulted when creating address records even if the request does not contain the mandatory address types.

Finance Integration Specific Enrichment Workflow

The dependence of this service on the FINANCIAL_AP system option has been functionally migrated to the External Supplier Management system option and a set of sub options

discussed below. When External Supplier Management is enabled, the optional attribute vendorTypeCode in the payload will be used to identify if the inbound information should be used to create or update a supplier or a partner record in Merchandising. External financial systems can utilize this attribute to create partners in Merchandising. The vendorTypeCode will be validated against data available in the Vendor type code mapping table in Merchandising that holds detail of whether a specific code maps to a supplier or partner and the type of partner intended. The vendor type code mapping must be setup via the Merchandising spreadsheet upload functionality prior to the integration of supplier/partner records. Additionally, if External Supplier Management is opted for the payload would be subject to enrichment based on the below options.

Filter inactive suppliers - Controls whether inactive suppliers should be excluded in the Create subscription.

Use Purchase Pay Site Flag - Controls if the Purchase Pay site Flags should be used to create and manage the ‘Purchasing Address’ and ‘Remittance Address’ respectively if a specific address type isn’t specified in the payload.

Use Site Defaults - Controls if a subset of supplier details should be populated using information at the site level if not specified for the supplier.

Use Supplier Alternate Name - Controls if the secondary name on the payload should be used for Supplier Description Creation as opposed to the Supplier Name

As part of the Financial Integration specific workflow, supplier/partner integration into Merchandising will be subject to the below.

While creating a new supplier, there must be at least one supplier site that is either a payment site or purchasing site as part of the payload. If there is only one supplier site associated, it must be both a purchasing and payment site.

Freight Terms, Payment Terms, Language, Currency, Contact Name, and Contact Phone information will be defaulted from the supplier site (primary pay site/procurement site/payment site) to the supplier record.

Address Type is typically not expected from the external financial system and will be determined using the procurement site and payment site attributes if the Purchase Pay Site Flag is set. An address type of 04 will be created for a procurement site while an address type of 06 will be created for a payment site. If the supplier site has both procurement and payment site flags set , both address types 04 and 06 will be created.

Contact specific defaulting will be based on the below

If there are multiple contacts for a supplier site, the contact name with the lowest external reference key (earliest record) will be used as the default contact name for the supplier site.

If there are multiple contacts for a supplier site and the contact phone/contact fax for the supplier site is not provided, it will be defaulted to 999999999.

If no contact name is available for the supplier and supplier site, it will be set to ‘UNKNOWN’.

If no contact phone is available for the supplier and supplier site, it will be set to 0.

If no contact fax/contact email is available for the supplier site, it will be set to its addresses’ contact fax/contact email.

If default tax type is SVAT or GTS, vat region on the supplier/partner record will be defaulted from a store having the same state in the address as the payment site or procurement site address. If state is not provided, country will be used as the basis for defaulting. If a default value is not found, the supplier/supplier site will be created with a null vat region and set to Inactive status until the vat region is associated in Merchandising.

The Use Alternate Supplier Site Name system option will control if the supplier site name will be substituted with the secondary name in the payload and vice versa. This is intended to allow for a more descriptive supplier name integration into Merchandising if the site name carried an abridged description/key. Substitution will only be performed if supplier site secondary name is provided. This system option can be managed via the System Options screen.

For the nullable fields, if no value is passed or value passed is NULL in the payload, then the service will update the corresponding fields in the database to NULL. For non-nullable fields the existing value will be retained.

Note:

Creation of partners of type Escheat-State and Escheat-Country will not be supported through this integration.

If the vendorTypeCode is not provided in the payload, a supplier record will be created.

The payload provides reference id fields for certain attributes that will enable the external financial system to send its own IDs for these attributes as opposed to sending IDs generated by Merchandising. These are listed below.

languageReferenceId - defaulted to primary language if not provided.

termsReferenceId

freightTermsReferenceId

orgUnitReferenceId

Usage of the external reference IDs is subject to the assumption that these external references have been setup and maintained against the attribute in Merchandising. For example, the external financial system can send a terms reference id provided that the same information has been sent to Merchandising as part of the terms import process. This will allow for Merchandising to use the terms reference id provided to cross reference and identify the correct term in Merchandising to be associated with the supplier/partner record being created. If an external reference id is provided for any attribute say terms it will be cross-referenced against the attribute definition tables (terms tables in this case) for a match. If the crossreference check returns multiple records one of these will be associated with the supplier/ partner record being created. If no matching data is found an error will be raised.

Partner Integration

If the vendor type code specified maps to a partner, the sites in the inbound payload will correspond to the partner record created. The partner record will however hold a reference of the supplier record associated with the site via the parent reference ID and parent name fields stored in the partner table. The defaulting logic and validations for partners is similar to that supplier sites with the below exceptions.

For new external finisher type partners, the service defaults the transfer entity from the resolved org unit. If the org unit or matching transfer entity cannot be resolved, the partner is created in Inactive status until the transfer entity is populated in Merchandising. Existing partner updates do not override the stored transfer entity.

For Bank type partners, the fields Line of Credit, Outstanding Credit, Open Credit, Year to Date Credit and Year to Date Drawdowns will be defaulted to 0. Principle Country ID will be defaulted from the address as also done for the Import Authority partner type).

Any information present in the webservice request will update the existing attributes with the following exceptions- (contact fax, contact pager, ship method, payment method, contact telex, contact email, default lead time, duns number, duns loc, tax id, vat region). When modifying a

supplier parent, providing the supplier site information is optional. Updates will be accepted for both supplier and partner irrespective of status. Service Type POST ReST URL MerchIntegrations/services/foundation/suppliers/create Input Payload Details Create - Object. See list of elements for detail Items - Object. See list of elements for detail Attributes - Object. See list of elements for detail CustomFlexAttribute - Object. See list of elements for detail LocalizationExtensions - Object. See list of elements for detail LocalizationExtensions.Attributes - Object. See list of elements for detail SupplierSites - Object. See list of elements for detail OrgUnit - Object. See list of elements for detail Address - Object. See list of elements for detail Address.Address - Object. See list of elements for detail Response Code: 200 (Success) CreateResponse - Object. See list of elements for detail CreateResponse.Items - Object. See list of elements for detail CreateResponse.Items.SupplierSites - Object. See list of elements for detail CreateResponse.Items.SupplierSites.Address - Object. See list of elements for detail

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Update Suppliers and Partners (deprecated)

Functional Area

Foundation - Suppliers and Partners

Business Overview

Deprecated in 25.0.201.0: Scheduled for Removal in 2 years. Use MerchIntegrations/ services/foundation/suppliers/create .

This service modifies existing parent suppliers, supplier sites, partners, org unit association, addresses and flex attributes. Any information present in the webservice request will update the existing attributes with a few exceptions, mentioned below. When modifying a supplier parent, providing the supplier site information is optional.

The following attribute values are defaulted to the old value if not provided in the request:

  • contact name

  • contact phone

  • contact fax

  • contact pager

  • ship method

  • payment method

  • contact telex

  • contact email

  • default lead time

  • duns number

  • duns loc

  • tax id

  • vat region

When modifying supplier sites, it is expected that both supplier parent and supplier site information will be provided. Certain supplier attribute values are defaulted to the old values if not provided in the update request. Refer to the list of attributes under Modifying a Supplier Parent. Attributes not in the above list will be replaced by user-provided values.

Existing address details are overwritten by the information contained in the address section of the service request. Addresses with address types 04 - Order and 06 - Remittance, however, are deleted from the system if these addresses are not included in the request.

When Financials integration is enabled ( financial_ap = ‘A’ ), the optional attribute vendorTypeCode is used to identify between suppliers and partners. External financial systems utilizing this attribute can also update partners in Merchandising.

Note

The vendor type code mapping must be set up through the Merchandising spreadsheet upload functionality.

Partner integrations of type Escheat-State and Escheat-Country are not be supported through this interface. If vendorTypeCode is blank, it is assumed that a supplier is being updated.

The external financial system can send its own ID for certain supplier attributes on optional reference fields in the payload. These external reference IDs do not need to be set up against the relevant data to enable their usage. Reference IDs that are available in the payload are listed below. If provided these will be used to cross-reference and identify the corresponding Merchandising ID and data. If the external ID provided maps to multiple records in the foundation data, then one of the records will be associated with the supplier/partner record being created. An error will be raised if no match is found.

  • languageReferenceId - defaulted to primary language if not provided.

  • termsReferenceId

  • freightTermsReferenceId

  • orgUnitReferenceId

Updates will be accepted for both supplier and partner irrespective of status.

Service Type
PUT
ReST URL
MerchIntegrations/services/foundation/suppliers/update
Availability During Nightly Batch Cycle

This service will not be available when batches that affect costs are in-progress.

Input Payload Details

Table 5-166 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection of
Object
References a collection of suppliers.

Table 5-167 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierReferenceNoYesString (32)This holds the ID for the supplier or
parent partner used in the external
fnancial system. It is populated by
the integration that brings suppliers
or partners from external fnancial
systems into Merchandising. This ID
and the supplier site ID or partner ID
can be used to join to information
about the supplier in the external
system.
supplierNoNumber (10)Unique identifying number for a
supplier parent within the system.
When a new supplier is added to the
system, this value can either be
provided by the user or it can be
system generated. Leave this feld as
null for a system generated supplier
ID.
vendorTypeCodeNoString (50)This column contains the identifer
for the vendor type from the external
fnancial system.
attributesYesRecordThis contains supplier parent
information.
supplierSitesNoCollection of
Object
References a collection of supplier
sites.

Table 5-168 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierNameYesString (240)This feld contains the supplier or
partner name.

Table 5-168 (Cont.) Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierNameSecondaryNoString (240)This type can hold secondary name
for the supplier or partner with a
max length of 240 characters.
contactNameNoString (120)This feld contains the name of the
supplier or partner representative
contact for this site.
contactPhoneNoString (20)This feld contains a telephone
number for the supplier’s or partner’s
representative contact.
contactFaxNoString (20)This feld contains a fax number for
the supplier’s or partner’s
representative contact.
contactPagerNoString (20)This feld contains a pager number
for the supplier’s representative
contact.
supplierStatusYesString (1)This feld contains the status of the
supplier or partner. Valid values
include: ‘A’ for an active supplier or ‘I’
for an inactive supplier. The status of
a supplier will be checked when an
order is being created to make
certain the supplier is active.
qualityControlPercentageNoNumber
(12,4)
This feld contains the percentage of
items per receipt that will be marked
for quality checking. If the feld is
null and qc_ind is Y, existing value
will be retained.
qualityControlFrequencyNoString (2)This feld contains the frequency for
which items per receipt will be
marked for quality checking. If the
feld is null and qc_ind is Y, existing
value will be retained.
vendorCheckingPercentageNoNumber
(12,4)
This feld contains percentage of
items per receipt that will be marked
for vendor checking. If the feld is
null and vc_ind is Y, existing value
will be retained.
vendorCheckingFrequencyNoNumber (2)This feld contains the frequency for
which items per receipt that will be
marked for vendor checking. If the
feld is null and vc_ind is Y, existing
value will be retained.
currencyCodeNoString (3)This feld contains code identifying
the currency the supplier site or
partner uses for business
transactions.
languageNoNumber (6)This feld contains the suppliers or
partners preferred language. This
feld is provided for custom purchase
orders in a specifed language.

Table 5-168 (Cont.) Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageReferenceIdNoString (50)This feld is primarily used to hold
the ID for the language used in the
external fnancial system.
termsNoString (15)This feld contains an indicator
identifying the purchase terms that
will default when an order is created
for the supplier site or partner. These
terms specify when payment is due
and if any discounts exist for early
payment.
termsReferenceIdNoString (50)This column holds the ID for the
supplier or partner terms used in the
external fnancial system.
freightTermsNoString (30)This feld contains code indicating
what freight terms will default when
an order is created for the supplier
site.
freightTermsReferenceIdNoString (50)This column holds the ID for the
freight terms used in the external
fnancial system.
minReturnValueNoNumber
(20,4)
This feld contains a value if the
supplier site requires a minimum
merchandise value to be returned to
accept the return. Returns of less
than this amount will not be
processed by the system. This feld is
stored in the supplier’s currency.
returnCourierNoString (250)This feld contains the name of the
courier that should be used for
returns to the supplier site.
handlingPercentageNoNumber
(12,4)
This feld contains the default percent
to be multiplied by the return’s total
cost to determine the handling cost
for the return.
ediChannelNoNumber (4)If the supplier is an EDI supplier and
supports vendor initiated ordering,
this feld will contain the channel ID
for the channel to which all inventory
for these types of orders will fow.
This feld is used when a vendor
initiated order is created for a
physical warehouse to determine the
virtual warehouse within the physical
warehouse to which the inventory
will fow. The virtual warehouse
belonging to the indicated channel
will be used. This will only be used in
a multichannel environment. Valid
values are Yes (Y) and No (N).

Table 5-168 (Cont.) Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
costChangeVariancePercenta
ge
NoNumber
(12,4)
This feld contains a percent that
determines whether a cost change
can be auto approve via induction. If
the cost change falls within these
boundaries, it will be approved when
uploaded.
costChangeVarianceAmtNoNumber
(20,4)
This feld contains an amount (in
supplier currency) that determines
whether a cost change can be auto
approve via induction. If the cost
change falls within these boundaries,
it will be approved when uploaded.
shipMethodNoString (6)This feld contains the default method
used to ship the items on the
purchase order from the supplier site.
Valid values are held in the Shipment
Type code type, SHPM. Examples of
shipment types are Vessel, Non-
Container (10 ), Vessel, Container (11),
Rail, Non-container (20) and Rail,
Container (21).
paymentMethodNoString (6)This feld indicates the default
method for how purchase orders for
this site will be paid. Valid values are
in the code type PYMT(Payment
Method). Examples are Open
Account(OA), Letter of Credit(LC) and
Wire Transfer(WT).
contactTelexNoString (20)This feld contains the telex number
of the partner or suppliers
representative contact.
contactEmailNoString (100)This feld contains the email address
of the partner or suppliers
representative contact.
vatRegionNoNumber (4)This feld contains the unique
identifying number for the VAT
region applicable for this site.
invoicePayLocationNoString (6)This feld indicates where invoices
from this supplier site or partner are
paid - at the store (S) or centrally
through corporate accounting (C).
invoiceReceiveLocationNoString (6)This feld indicates where invoices
from this supplier site or partner are
received - at the store (S) or centrally
through corporate accounting (C).
commentsNoString (2000)This feld contains any miscellaneous
comments associated with the
supplier or partner.

Table 5-168 (Cont.) Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
defaultItemLeadTimeNoNumber (4)This feld holds the default lead time
for the supplier site. The lead time is
the time the supplier needs between
receiving an order and having the
order ready to ship. This value will be
defaulted to item/supplier
relationships.
dunsNumberNoString (9)The Dun and Bradstreet number of
the supplier.
dunsLocationNoString (4)The Dun and Bradstreet number of
the location of the supplier.
defaultPricingControlNoString (1)Indicates the default value of the
pricing control attribute at the
supplier site level when supplier-
controlled pricing for Consignment/
Concession ownership model is used
within the Merchandising suite of
solutions. Valid values are: R -
Retailer, S - Supplier.
generateConsignmentOrderI
nd
NoString (1)This feld will allow specifcation of
whether Merchandising is required
to generate POs against consignment
sales. Valid values are: ‘Y’ - MFCS will
create PO, ‘N’ - POs will get created
externally. If supplier parent, this is
defaulted to Y. If supplier site and
feld is null, this is defaulted to Y.
generateSelfInvoicingIndNoString (1)This feld will allow specifcation of
whether self-invoicing needs to be
done for consignment purchases or if
vendor will send invoices to be
matched. Valid values are: ‘Y’ - MFCS
will create invoice, ‘N’ - Invoice will
get created by vendor. If supplier
parent, this is defaulted to Y. If
supplier site and feld is null, this is
defaulted to Y.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes. This collection is
treated as a single group and should
include all named fexible attributes
for the business entity. If any
confgured named attribute is
missing from the input collection, its
value will be set to NULL.

Table 5-168 (Cont.) Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
dealUploadStatusNoString (6)Indicates the status in which the deal
needs to be uploaded into the system
by upload batch process. Valid values
are in the code type DLUS(Deal
Upload Status). Examples are
Worksheet(W), Submitted(S) and
Approved(A). If the supplier does not
exist and there is no
deal_upload_status input then this is
defaulted to W (worksheet).
taxIdNoString (20)This feld contains the unique tax
identifcation number of the supplier
site or partner.
procurementSiteIndNoString (1)Indicates if the supplier site or
partner is a procurement site used
for purchasing.
paymentSiteIndNoString (1)Indicates if the supplier site or
partner is a payment site used for
invoice payment.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-169 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.

Table 5-170 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-171 LocalizationExtensions.Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.

Table 5-172 SupplierSites - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierSiteReferenceNoYesString (32)This holds the ID for the supplier or
partner used in the external fnancial
system. It is populated by the
integration that brings suppliers or
partners from external fnancial
systems into Merchandising. This ID
and the supplier site ID or partner ID
can be used to join to information
about the supplier in the external
system.
supplierSiteNoNumber (10)Unique identifying number for a
supplier site or partner within the
system. When a new supplier site is
added to the system, this can either
be provided by the user or it can be
system generated. Leave this feld as
null for a system generated supplier
site ID.
attributesYesRecordThis contains supplier site attributes.
orgUnitYesCollection of
Object
References a collection of supplier
org units.
addressYesCollection of
Object
References a collection of supplier
addresses.

Table 5-173 OrgUnit - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orgUnitIdNoNumber (15)This feld contains org_unit_id.
orgUnitReferenceIdNoString (50)This column holds the organizational
unit ID used in the external fnancial
system.
primaryPaySiteNoString (1)This feld contains the primary pay
site indicator.

Table 5-174 Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
addressReferenceKeyNoString (32)This column contains the external
reference ID used to distinguish
between different addresses.
addressKeyNoNumber (11)This column contains a unique
number used to distinguish between
different addresses.
addressYesRecordThis contains the supplier’s address
information.

Table 5-175 Address.Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
addressTypeNoString (2)This contains the address type. Valid
values (e. g. 01 - Business, 02 - Postal,
etc. ) are on the add_type table. If any
address types have been fagged as
mandatory and are not included
when the supplier or partner is being
created, then if an ordering address
has been included, the missing
mandatory addresses will be
defaulted to that address. If not, then
the remittance address will be used.
If neither an order nor remittance
address is included, then the frst
address sent is used.
primaryAddressIndNoString (1)This column indicates whether the
address is the primary address for
the address type.
add1YesString (240)This feld contains the frst line of the
address.
add2NoString (240)This feld contains the second line of
the address.
add3NoString (240)This feld contains the third line of
the address.
cityYesString (120)This column contains the name of the
city that is associated with the
address.
stateNoString (3)This column contains the state
abbreviation for the address.
countryYesString (3)This column contains the country
where the address exists.
postNoString (30)This column contains the zip code for
the address.
contactNameNoString (120)This column contains the name of the
contact for the supplier or partner at
this address.
contactPhoneNoString (20)This column contains the phone
number of the contact person at this
address.
contactFaxNoString (20)This column contains the fax number
of the contact person at this address.
contactEmailNoString (100)This column contains the email
address of the partner or suppliers
representative contact.
jurisdictionCodeNoString (10)ID associated to the tax jurisdiction of
the country-state relationship.

Table 5-175 (Cont.) Address.Address - Object. See list of elements for detail

Element Name Required Data Type Description customFlexAttribute No Collection of References a collection of custom Object flexible attributes. This collection is treated as a single group and should include all named flexible attributes for the business entity. If any configured named attribute is missing from the input collection, its value will be set to NULL. contactTelex No String (20) This field contains the telex number of the partner or suppliers representative contact. Sample Input Message { "items": [ { "supplierReferenceNo": "1", "supplier": 3026, "vendorTypeCode": null, "attributes": { "supplierName": "Prime Hardware", "supplierNameSecondary": "Prime Hardware 2", "contactName": "Alexandre Roma", "contactPhone": "234-112-7654", "contactFax": "234-112-7654", "contactPager": null, "supplierStatus": "A", "qualityControlPercentage": 3, "qualityControlFrequency": "5", "vendorCheckingPercentage": 3, "vendorCheckingFrequency": 2, "currencyCode": "USD", "language": 1, "languageReferenceId": null, "terms": "108", "termsReferenceId": null, "freightTerms": "03", "freightTermsReferenceId": null, "minReturnValue": 3.55, "returnCourier": "125", "handlingPercentage": 3, "ediChannel": 2, "costChangeVariancePercentage": 9.65, "costChangeVarianceAmt": 9.65, "shipMethod": "30", "paymentMethod": "OA", "contactTelex": "234-112-7654", "contactEmail": "a_roma@primehardware.com", "vatRegion": 1000, "invoicePayLocation": "S",

        "invoiceReceiveLocation": "C",
        "comments": null,
        "defaultItemLeadTime": 7,
        "dunsNumber": "108890",
        "dunsLocation": "1055",
        "defaultPricingControl": "R",
        "generateConsignmentOrderInd": "Y",
        "generateSelfInvoicingInd": "Y",
        "customFlexAttribute": [
          {
            "name": "REVIEW_DATE",
            "value": null,
            "valueDate": "2001-12-31"
          }
        ],
        "dealUploadStatus": "W",
        "taxId": null,
        "procurementSiteInd": "N",
        "paymentSiteInd": "N",
        "localizationExtensions": [
          {
            "country": "BR",
            "attributes": [
              {
                "name": "SPECIAL_CATEGORY_CODE",
                "value": "WS_PRC_08",
                "valueDate": "2001-12-31"
              }
            ]
          }
        ]
      },
      "supplierSites": [
        {
          "supplierSiteReferenceNo": "2",
          "supplierSite": 3026001,
          "attributes": {
            "supplierName": "Prime Hardware",
            "supplierNameSecondary": "Prime Hardware 2",
            "contactName": "Alexandre Roma",
            "contactPhone": "234-112-7654",
            "contactFax": "234-112-7654",
            "contactPager": null,
            "supplierStatus": "A",
            "qualityControlPercentage": 3,
            "qualityControlFrequency": "5",
            "vendorCheckingPercentage": 3,
            "vendorCheckingFrequency": 2,
            "currencyCode": "USD",
            "language": 1,
            "languageReferenceId": null,
            "terms": "108",
            "termsReferenceId": null,
            "freightTerms": "03",
            "freightTermsReferenceId": null,
            "minReturnValue": 3.55,
            "returnCourier": "125",
            "handlingPercentage": 3,
            "ediChannel": 2,
            "costChangeVariancePercentage": 9.65,
            "costChangeVarianceAmt": 9.65,
            "shipMethod": "30",
            "paymentMethod": "OA",
            "contactTelex": "234-112-7654",
            "contactEmail": "a_roma@primehardware.com",
            "vatRegion": 1000,
            "invoicePayLocation": "S",
            "invoiceReceiveLocation": "C",
            "comments": null,
            "defaultItemLeadTime": 7,
            "dunsNumber": "108890",
            "dunsLocation": "1055",
            "defaultPricingControl": "R",
            "generateConsignmentOrderInd": "Y",
            "generateSelfInvoicingInd": "Y",
            "customFlexAttribute": [
              {
                "name": "REVIEW_DATE",
                "value": null,
                "valueDate": "2001-12-31"
              }
            ],
            "dealUploadStatus": "W",
            "taxId": null,
            "procurementSiteInd": "N",
            "paymentSiteInd": "N",
            "localizationExtensions": [
              {
                "country": "BR",
                "attributes": [
                  {
                    "name": "SPECIAL_CATEGORY_CODE",
                    "value": "WS_PRC_08",
                    "valueDate": "2001-12-31"
                  }
                ]
              }
            ]
          },
          "orgUnit": [
            {
              "orgUnitId": 1111111111,
              "orgUnitReferenceId": null,
              "primaryPaySite": "Y"
            }
          ],
          "address": [
            {
              "addressReferenceKey": "2",
              "addressKey": 114772,
              "address": {
                "addressType": "01",
                "primaryAddressInd": "Y",
                "add1": "200 Ryan Way",
                "add2": "Suite 100",
                "add3": null,
                "city": "Somerville",
                "state": "MA",
                "country": "US",
                "post": "55555-1234",
                "contactName": "Laura Johnson",
                "contactPhone": "617-897-0900",
                "contactFax": "617-897-0902",
                "contactEmail": "l_johnson@primehardware.com",
                "jurisdictionCode": null,
                "customFlexAttribute": [
                  {
                    "name": "REVIEW_DATE",
                    "value": null,
                    "valueDate": "2001-12-31"
                  }
                ],
                "contactTelex": null
              }
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "items": [
    {
      "supplierReferenceNo": "1",
      "supplier": 3026,
      "vendorTypeCode": null,
      "attributes": {
        "supplierName": "Prime Hardware",
        "supplierNameSecondary": "Prime Hardware 2",
        "contactName": "Alexandre Roma",
        "contactPhone": "234-112-7654",
        "contactFax": "234-112-7654",
        "contactPager": null,
        "supplierStatus": "A",
        "qualityControlPercentage": 3,
        "qualityControlFrequency": "5",
        "vendorCheckingPercentage": 3,
        "vendorCheckingFrequency": 2,
        "currencyCode": "USD",
        "language": 1,
        "languageReferenceId": null,
        "terms": "108",
        "termsReferenceId": null,
        "freightTerms": "03",
        "freightTermsReferenceId": null,
        "minReturnValue": 3.55,
        "returnCourier": "125",
        "handlingPercentage": 3,
        "ediChannel": 2,
        "costChangeVariancePercentage": 9.65,
        "costChangeVarianceAmt": 9.65,
        "shipMethod": "30",
        "paymentMethod": "OA",
        "contactTelex": "234-112-7654",
        "contactEmail": "a_roma@primehardware.com",
        "vatRegion": 1000,
        "invoicePayLocation": "S",
        "invoiceReceiveLocation": "C",
        "comments": null,
        "defaultItemLeadTime": 7,
        "dunsNumber": "108890",
        "dunsLocation": "1055",
        "defaultPricingControl": "R",
        "generateConsignmentOrderInd": "Y",
        "generateSelfInvoicingInd": "Y",
        "customFlexAttribute": [
          {
            "name": "REVIEW_DATE",
            "value": null,
            "valueDate": "2001-12-31"
          }
        ],
        "dealUploadStatus": "W",
        "taxId": null,
        "procurementSiteInd": "N",
        "paymentSiteInd": "N",
        "localizationExtensions": [
          {
            "country": "BR",
            "attributes": [
              {
                "name": "SPECIAL_CATEGORY_CODE",
                "value": "WS_PRC_08",
                "valueDate": "2001-12-31"
              }
            ]
          }
        ]
      },
      "supplierSites": [
        {
          "supplierSiteReferenceNo": "2",
          "supplierSite": 3026001,
          "attributes": {
            "supplierName": "Prime Hardware",
            "supplierNameSecondary": "Prime Hardware 2",
            "contactName": "Alexandre Roma",
            "contactPhone": "234-112-7654",
            "contactFax": "234-112-7654",
            "contactPager": null,
            "supplierStatus": "A",
            "qualityControlPercentage": 3,
            "qualityControlFrequency": "5",
            "vendorCheckingPercentage": 3,
            "vendorCheckingFrequency": 2,
            "currencyCode": "USD",
            "language": 1,
            "languageReferenceId": null,
            "terms": "108",
            "termsReferenceId": null,
            "freightTerms": "03",
            "freightTermsReferenceId": null,
            "minReturnValue": 3.55,
            "returnCourier": "125",
            "handlingPercentage": 3,
            "ediChannel": 2,
            "costChangeVariancePercentage": 9.65,
            "costChangeVarianceAmt": 9.65,
            "shipMethod": "30",
            "paymentMethod": "OA",
            "contactTelex": "234-112-7654",
            "contactEmail": "a_roma@primehardware.com",
            "vatRegion": 1000,
            "invoicePayLocation": "S",
            "invoiceReceiveLocation": "C",
            "comments": null,
            "defaultItemLeadTime": 7,
            "dunsNumber": "108890",
            "dunsLocation": "1055",
            "defaultPricingControl": "R",
            "generateConsignmentOrderInd": "Y",
            "generateSelfInvoicingInd": "Y",
            "customFlexAttribute": [
              {
                "name": "REVIEW_DATE",
                "value": null,
                "valueDate": "2001-12-31"
              }
            ],
            "dealUploadStatus": "W",
            "taxId": null,
            "procurementSiteInd": "N",
            "paymentSiteInd": "N",
            "localizationExtensions": [
              {
                "country": "BR",
                "attributes": [
                  {
                    "name": "SPECIAL_CATEGORY_CODE",
                    "value": "WS_PRC_08",
                    "valueDate": "2001-12-31"
                  }
                ]
              }
            ]
          },
          "orgUnit": [
            {
              "orgUnitId": 1111111111,
              "orgUnitReferenceId": null,
              "primaryPaySite": "Y"
            }
          ],
          "address": [
            {
              "addressReferenceKey": "2",
              "addressKey": 114772,
              "address": {
                "addressType": "01",
                "primaryAddressInd": "Y",
                "add1": "200 Ryan Way",
                "add2": "Suite 100",
                "add3": null,
                "city": "Somerville",
                "state": "MA",
                "country": "US",
                "post": "55555-1234",
                "contactName": "Laura Johnson",
                "contactPhone": "617-897-0900",
                "contactFax": "617-897-0902",
                "contactEmail": "l_johnson@primehardware.com",
                "jurisdictionCode": null,
                "customFlexAttribute": [
                  {
                    "name": "REVIEW_DATE",
                    "value": null,
                    "valueDate": "2001-12-31"
                  }
                ],
                "contactTelex": null
              }
            }
          ]
        }
      ]
    }
  ]
}
Response Code: 400 (Error)

In case of error, the following standard error response is returned. The element validationErrors is present when the input payload or input parameters do not follow the schema definition of this service. The element businessError is present if the payload passes schema validation but an exception is caught while processing the business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Supplier Download Service

Supplier Detail Service

This section describes the Supplier Detail service.

Business Overview

This service publishes supplier-site master data to downstream consuming systems. It publishes the supplier-site definition together with primary and additional addresses, supplier org-unit relationships, and supplier and address custom flex attributes. Functionally, only supplier sites are published because both the main view query and the address CTEs require SUPS.SUPPLIER_PARENT IS NOT NULL; parent supplier rows are excluded.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: SUPS, ADDR

Additional business tables: ADD_TYPE_MODULE, V_ADD_TYPE_TL, PARTNER_ORG_UNIT, SYSTEM_OPTIONS, SUPS_CFA_EXT, ADDR_CFA_EXT

JSON cache table: MERCHAPI_EXT_SUPPLIER

JSON generation view: V_MERCHAPI_EXT_SUPPLIER_JSON

Builds the supplier-site header from SUPS, derives the primary address from ADDR joined to ADD_TYPE_MODULE and V_ADD_TYPE_TL, aggregates all supplier-site addresses from ADDR, adds supplier-site org-unit relationships from PARTNER_ORG_UNIT, and enriches supplier- and address-level custom flex attributes from MERCHAPI_EXT_SUPPLIER_CFA and MERCHAPI_EXT_SUPPLIER_ADDR_CFA.

The view also reads SYSTEM_OPTIONS to derive defaultPricingControl.

Functionally, only supplier sites are published because both the main view query and the address CTEs require SUPS.SUPPLIER_PARENT IS NOT NULL; parent supplier rows are excluded.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_EXT_SUPPLIER_JSON and apply supplier-site rows only where SUPS.SUPPLIER_PARENT IS NOT NULL.

The current REBUILD branch merges changed and new rows only; it does not include a delete-marking pass for supplier sites that disappear from V_MERCHAPI_EXT_SUPPLIER_JSON.

ICL (Integration Change Log) table: ICL_RMS_SUPPLIER and ICL_RMS_ADDR (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on SUPS, and address changes are captured through ICL_RMS_ADDR for ADDR rows where MODULE = ‘SUPP’.

ICL_RMS_ADDR rows are filtered to MODULE = ‘SUPP’ and republish the parent supplier-site payload.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_SUPPLIER

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_SUPPLIER_ADHOC_PROCESS MERCHAPI_EXT_SUPPLIER_ADHOC_JOB

Webhook configuration api name: foundation/supplier

Service Type

Get

ReST URL

MerchIntegrations/services/foundation/supplier

MerchIntegrations/services/foundation/supplier/{supplierId}

Functional Area

Foundation - Suppliers

Input Parameters
Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoStringOffset key (Supplier)
Parameter NameRequiredData TypeDescription
limitNoString (6)Pagination limit. Default
value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addre
ss.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactFa
x,items.customFlexAttrib
ute)

Table 5-176 Input Parameter for “MerchIntegrations/services/foundation/supplier/ {supplierId}“

Parameter NameRequiredData TypeDescription
supplierIdYesNumberSupplier Id
includeNoStringFields to include -
comma separated
(Example
items.name,items.addre
ss.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactFa
x,items.customFlexAttrib
ute)

Output

Table 5-177 PageResultsItemsMerchApiSupplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defined in the input
request, a default page
size is used to limit the
number of records to
fetch

Table 5-177 (Cont.) PageResultsItemsMerchApiSupplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countNoNumberNumber of record in the
response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-178 MerchApiSupplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoStringAction for supplier
details.
supplierNoNumber(10,0)This field specifies the
unique identifying
number for a supplier
site within the system.
supplierNameNoString (240)This field specifies the
supplier site’s name.
supplierNameSecondaryNoString (240)This field specifies the
secondary name of the
supplier.
supplierStatusNoString (1)This field specifies
whether the supplier is
currently active.
parentSupplierNoNumber(10,0)This field contains the
supplier number of the
supplier parent.
contactNameNoString (120)This field contains the
name of the supplier’s
representative contact
for this site.
contactPhoneNoString (20)This field contains the
telephone number for
the supplier’s
representative contact.
contactFaxNoString (20)This field contains the
fax number for the
supplier’s representative
contact.
contactPagerNoString (20)This field contains the
number for the pager of
the supplier’s
representative contact.
contactTelexNoString (20)This field contains the
telex number of the
partner’s or supplier’s
representative contact.

Table 5-178 (Cont.) MerchApiSupplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
contactEmailNoString (100)This field contains the
email address of the
partner’s or supplier’s
representative contact.
qualityControlIndNoString (1)This field determines
whether orders from this
supplier will default as
requiring quality control.
qualityControlPercentag
e
NoNumber(12,4)This field specifies the
percentage of items per
receipt that will be
marked for quality
checking.
qualityControlFrequencyNoNumber(2,0)This field specifies the
frequency in which items
per receipt will be
marked for quality
checking.
vendorCheckingIndNoString (1)This field specifies
whether orders from this
supplier will default as
requiring vendor control.
vendorCheckingPercent
age
NoNumber(12,4)This field specifies the
percentage of items per
receipt that will be
marked for vendor
checking.
vendorCheckingFrequen
cy
NoNumber(2,0)This field specifies the
frequency in which items
per receipt will be
marked for vendor
checking.
currencyCodeNoString (3)This field specifies the
code identifying the
currency the supplier
uses for business
transactions.
languageNoNumber(6,0)This field contains the
supplier’s preferred
language.
termsNoString (15)This field contains an
indicator identifying the
purchase terms that will
default when an order is
created for the supplier
site. These terms
specify when payment is
due and if any discounts
exist for early payment.

Table 5-178 (Cont.) MerchApiSupplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
freightTermsNoString (30)This field contains the
code indicating what
freight terms will default
when an order is created
for the supplier site.
returnAllowedIndNoString (1)This field specifies
whether or not the
supplier will accept
returns.
returnAuthorizationRequ
iredInd
NoString (1)This field specifies if
returns must be
accompanied by an
authorization number
when sent back to the
vendor.
minimumReturnValueNoNumber(20,4)This field contains a
value if the supplier site
requires a minimum
merchandise value to be
returned to accept the
return. Returns of less
than this amount will not
be processed by the
system. This field is
stored in the supplier’s
currency.
returnCourierNoString (250)This field specifies the
name of the courier that
should be used for all
returns to the supplier
site.
handlingPercentageNoNumber(12,4)This field contains the
default percent to be
multiplied by the return’s
total cost to determine
the handling cost for the
return.
ediOrderIndNoString (1)This field specifies
whether purchase
orders will be sent to the
supplier via EDI.
ediOrderChangeIndNoString (1)This field specifies
whether purchase order
changes will be sent to
the supplier via EDI.
ediOrderConfirmIndNoString (1)This field specifies
whether this supplier will
send acknowledgment
of purchase orders sent
via EDI.

Table 5-178 (Cont.) MerchApiSupplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
ediAsnIndNoString (1)This field specifies
whether this supplier will
send Advance Shipment
Notifications
electronically.
ediSalesReportFrequen
cy
NoString (1)This field specifies the
EDI sales report
frequency for this
supplier.
ediSupplierAvailabilityIn
d
NoString (1)This field specifies
whether the supplier will
send availability via EDI.
ediContractIndNoString (1)This field indicates
whether the supplier site
supports contract
ordering sent via EDI.
ediInvoiceIndNoString (1)This field specifies
whether invoices, debit
memos and credit note
requests will be sent to/
from the supplier via
Electronic Data
Interchange.
ediChannelIdNoNumber(4,0)This field specifies if the
supplier is an EDI
supplier and supports
vendor initiated ordering,
this field will contain the
channel ID for the
channel to which all
inventory for these types
of orders will flow.
costChangeVariancePer
centage
NoNumber(12,4)This field contains a
percent that determines
whether a cost change
can be auto approved
via induction. If the cost
change falls within these
boundaries, it will be
approved when
uploaded.
costChangeVarianceAmtNoNumber(20,4)This field contains an
amount (in supplier
currency) that
determines whether a
cost change can be auto
approved via induction.
If the cost change falls
within these boundaries,
it will be approved when
uploaded.

Table 5-178 (Cont.) MerchApiSupplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
replenishmentApprovalI
nd
NoString (1)This field indicates
whether contract orders
created via
replenishment should be
created in Approved
status.
shipMethodNoString (6)This field contains the
default method used to
ship the items on the
purchase order from the
supplier site. Valid
values are held in code
type SHPM.
paymentMethodNoString (6)This field indicates the
default method for how
purchase orders for this
site will be paid. Valid
values are Letter of
Credit (LC), Wire
Transfer (WT) and Open
Account (OA).
settlementCodeNoString (1)This field indicates
which payment process
method is used for the
supplier. Valid values
are N/A (N) and
Evaluated Receipts
Settlement (E).
preMarkIndNoString (1)This field indicates
whether the supplier site
supports pre-marking
containers for cross-
dock orders.
autoApproveInvoiceIndNoString (1)This field indicates
whether the supplier’s
invoices can be
automatically approved
for payment.
debitMemoCodeNoString (1)This field indicates when
a debit memo will be
sent to the supplier site
to resolve a discrepancy.
Valid values are: Y - if
debit memos are always
to be sent, L - if debit
memos are used only if
a credit note is not sent
by the invoice due date
and N - if debit memos
are never sent.
freightChargeIndNoString (1)This field indicates
whether a supplier site
can charge freight costs.

Table 5-178 (Cont.) MerchApiSupplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
autoApproveDebitMemo
Ind
NoString (1)This field specifies
whether debit memos
sent to the supplier can
be automatically
approved on creation.
invManagementLevelNoString (6)This field indicates the
level for managing
supplier inventory
information. Valid values
are: supplier (S),
supplier/location (L),
supplier/department (D),
and supplier/
department/location (A).
backorderIndNoString (1)This field specifies if
backorders or partial
shipments will be
accepted.
vatRegionNoNumber(4,0)This field contains the
unique identifying
number for the VAT
region applicable for this
site.
prepayInvoiceIndNoString (1)This field specifies
whether all invoices for
the supplier can be pre-
paid.
servicePerformedRequir
edInd
NoString (1)This field indicates if the
supplier’s services must
be confirmed as
performed before paying
an invoice from that
supplier site.
invoicePayLocationNoString (6)This field indicates
where invoices from this
supplier site are paid - at
the store (S) or centrally
through corporate
accounting (C).
invoiceReceiveLocationNoString (6)This field indicates
where invoices from this
supplier site are
received - at the store
(S) or centrally through
corporate accounting
(C).
invoiceGrossNetNoString (6)This field indicates if the
supplier site invoice lists
items at gross cost (G)
or net cost (N).

Table 5-178 (Cont.) MerchApiSupplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deliveryPolicyNoString (6)This field contains the
default delivery policy of
the supplier site. Valid
values are held in code
type DLVY.
commentsNoString (2000)This field contains any
miscellaneous
comments associated
with the supplier.
defaultItemLeadTimeNoNumber(4,0)This field specifies the
default lead time for the
supplier site. The lead
time is the time the
supplier needs between
receiving an order and
having the order ready
to ship. This value will
be defaulted to item/
supplier relationships.
dunsNoNoString (9)This field holds the Dun
and Bradstreet number
to identify the supplier.
dunsLocationNoString (4)This field holds the Dun
and Bradstreet number
to identify the location of
the supplier.
bracketCostingIndNoString (1)This field will determine
if the supplier site
supports bracket costing
pricing structures.
vmiOrderStatusNoString (6)This field determines the
status in which any
inbound POs from this
supplier will be created.
A NULL value indicates
that the supplier is not a
VMI supplier.
dsdSupplierIndNoString (1)This field specifies
whether the vendor
supports DSD ordering,
where the supplier
replenishes the store
directly, creating the PO
and receipt at the same
time.
supplierQuantityLevelNoString (6)This field indicates the
supplier site order
quantity level. Valid
values are cases (CA) or
eaches (EA).

Table 5-178 (Cont.) MerchApiSupplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
finalDestinationIndNoString (1)This field indicates
whether the supplier site
can ship to final
destination or not.
externalReferenceIdNoString (32)This field holds the ID
for the supplier used in
the external financial
system.
statusUpdateByRmsNoString (1)This field indicates that
the supplier is
inactivated from RMS.
Suppliers inactivated in
RMS will have this field
updated as Y. Otherwise
this field will be null.
defaultPricingControlNoString (1)This field contains the
pricing control of the
supplier and determines
whether the supplier can
control the price. Valid
values are R - Managed
by Retailer and S -
Managed by Supplier.
primaryAddressTypeNoString (2)This field specifies the
type for the address.
Valid values are: 01 -
Business, 02 - Postal, 03
- Returns, 04 - Order, 05
- Invoice, 06 -
Remittance.
primaryAddressTypeDes
cription
NoString (40)This field specifies the
address type
description.
primaryAddressAdd1NoString (240)This field contains the
first line of the address.
primaryAddressAdd2NoString (240)This field contains the
second line of the
address.
primaryAddressAdd3NoString (240)This field contains the
third line of the address.
primaryAddressCityNoString (120)This field contains the
name of the city that is
associated with the
address.
primaryAddressStateNoString (3)This field contains the
state abbreviation for the
address.
primaryAddressCountryI
d
NoString (3)This field contains the
country where the
address exists.

Table 5-178 (Cont.) MerchApiSupplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
primaryAddressJurisdicti
onCode
NoString (10)This field identifies the
jurisdiction code for the
country-state
relationship.
primaryAddressPostNoString (30)This field contains the
zip code for the address.
primaryAddressContact
Name
NoString (120)This field contains the
name of the contact
person at this address.
primaryAddressContact
Phone
NoString (20)This field contains the
phone number of the
contact person at this
address.
primaryAddressContact
Telex
NoString (20)This field contains the
telex number of the
contact person at this
address.
primaryAddressContact
Fax
NoString (20)This field contains the
fax number of the
contact person at this
address.
primaryAddressContact
Email
NoString (100)This field contains the
email address of the
supplier site’s contact
person.
generateConsignmentOr
derInd
NoString (1)This field will allow
specification of whether
Merchandising is
required to generate
POs against
consignment sales.
generateSelfInvoicingIndNoString (1)This field will allow
specification of whether
self-invoicing needs to
be done for consignment
purchases or if the
vendor will send invoices
to be matched.
createDateTimeNodateTimeThis field holds the
record creation date and
time (UTC).
updateDateTimeNodateTimeThis field holds the date
and time when the
record was last updated
(UTC).
customFlexAttributeNoCollection of ObjectThis list holds custom
flex attributes for the
supplier.
addressNoCollection of ObjectThis list holds all
supplier addresses.

Table 5-178 (Cont.) MerchApiSupplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierOrgUnitNoCollection of ObjectThis list holds supplier or
supplier site attributes
by org unit ID. The list is
populated when either
Multiple Set of Books is
on and/or Financial AP
is on.
cacheTimestampNodateTimeThis field specifies the
date and time when the
supplier record was last
fetched into the cache.
cacheCreateTimestampNodateTimeThis field specifies the
date and time when the
record was first created
for web service
publication.

Table 5-179 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This field holds the
custom flex attribute
name.
valueNoString (250)This field holds the
numeric or character
value of the custom flex
attribute.
valueDateNodateThis field holds the date
value of the custom flex
attribute.
createDateTimeNodateTimeThis field holds the date
and time when the
custom flex attribute was
created (UTC).
updateDateTimeNodateTimeThis field holds the date
and time when the
custom flex attribute was
last updated (UTC).

Table 5-180 Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
addressKeyNoNumber(11,0)This field contains the
unique address key.

Table 5-180 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
addressTypeNoString (2)This field specifies the
type for the address.
Valid values are: 01 -
Business, 02 - Postal, 03
- Returns, 04 - Order, 05
- Invoice, 06 -
Remittance.
addressTypeDescriptionNoString (40)This field specifies the
address type
description.
primaryAddressIndNoString (1)This field indicates
whether the address is
the primary address for
the address type.
add1NoString (240)This field contains the
first line of the address.
add2NoString (240)This field contains the
second line of the
address.
add3NoString (240)This field contains the
third line of the address.
cityNoString (120)This field contains the
name of the city that is
associated with the
address.
stateNoString (3)This field contains the
state abbreviation that is
associated with the
address.
stateNameNoString (120)This field contains the
state description that is
associated with the
address.
countryIdNoString (3)This field contains the
country where the
address exists.
countryNameNoString (120)This field contains the
country description that
is associated with the
address.
postNoString (30)This field contains the
zip code for the address.
contactNameNoString (120)This field contains the
name of the contact
person at this address.
contactPhoneNoString (20)This field contains the
phone number of the
contact person at this
address.

Table 5-180 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
contactTelexNoString (20)This field contains the
telex number of the
contact person at this
address.
contactFaxNoString (20)This field contains the
fax number of the
contact person at this
address.
contactEmailNoString (100)This field contains the
email address of the
contact person at this
address.
phone2TypeNoString (6)This field contains the
type of the phone
number stored in the
phone2 field. Valid
values are AS -
Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work, and can also be
found on the codes table
with a code type of
PHTP.
phone2NoString (20)This field contains an
additional phone number
associated with the
address.
phone3TypeNoString (6)This field contains the
type of the phone
number stored in the
phone3 field. Valid
values are AS -
Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work, and can also be
found on the codes table
with a code type of
PHTP.
phone3NoString (20)This field contains a
second additional phone
number associated with
the address.
latitudeNoString (30)This field contains the
north-south geographic
coordinate of the
address, represented in
decimal degrees.

Table 5-180 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
longitudeNoString (30)This field contains the
east-west geographic
coordinate of the
address, represented in
decimal degrees.
countyNoString (250)This field contains the
county where the
address exists.
jurisdictionCodeNoString (10)This field contains the ID
associated with the tax
jurisdiction of the
country-state
relationship.
createDateTimeNodateTimeThis field holds the
record creation date and
time (UTC).
updateDateTimeNodateTimeThis field holds the date
and time when the
record was last updated
(UTC).
customFlexAttributeNoCollection of ObjectThis List holds custom
flex attributes for the
warehouse’s address.

Table 5-181 SupplierOrgUnit - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orgUnitIdNoNumber(15,0)This field holds the org
unit ID.
primaryPaySiteIndNoString (1)This field holds the
primary payment site
indicator.
createDateTimeNodateTimeThis field holds the
record creation date and
time (UTC).
updateDateTimeNodateTimeThis field holds the date
and time when the
record was last updated
(UTC).

Table 5-182 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL

Table 5-182 (Cont.) LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "supplier": 3026001, "supplierName": "Prime Hardware", "supplierNameSecondary": "Prime Hardware 2", "supplierStatus": "A", "parentSupplier": 3026, "contactName": "Alexandre Roma", "contactPhone": "234-112-7654", "contactFax": "234-112-7654", "contactPager": null, "contactTelex": "234-112-7654", "contactEmail": "a_roma@primehardware.com", "qualityControlInd": "Y", "qualityControlPercentage": 3, "qualityControlFrequency": 5, "vendorCheckingInd": "Y", "vendorCheckingPercentage": 3, "vendorCheckingFrequency": 2, "currencyCode": "USD", "language": 1, "terms": "108", "freightTerms": "03", "returnAllowedInd": "Y", "returnAuthorizationRequiredInd": "N", "minimumReturnValue": 3.55, "returnCourier": "125", "handlingPercentage": 3, "ediOrderInd": "Y", "ediOrderChangeInd": "Y", "ediOrderConfirmInd": "Y", "ediAsnInd": "Y", "ediSalesReportFrequency": null, "ediSupplierAvailabilityInd": "Y", "ediContractInd": "Y", "ediInvoiceInd": "Y", "ediChannelId": 1, "costChangeVariancePercentage": 9.65,

"costChangeVarianceAmt": 9.65,
"replenishmentApprovalInd": "Y",
"shipMethod": "30",
"paymentMethod": "OA",
"settlementCode": "N",
"preMarkInd": "Y",
"autoApproveInvoiceInd": "Y",
"debitMemoCode": "N",
"freightChargeInd": "Y",
"autoApproveDebitMemoInd": "Y",
"invManagementLevel": "S",
"backorderInd": "Y",
"vatRegion": 1000,
"prepayInvoiceInd": "Y",
"servicePerformedRequiredInd": "Y",
"invoicePayLocation": "S",
"invoiceReceiveLocation": "C",
"invoiceGrossNet": "G",
"deliveryPolicy": "NEXT",
"comments": null,
"defaultItemLeadTime": 7,
"dunsNo": "108890",
"dunsLocation": "1055",
"bracketCostingInd": "Y",
"vmiOrderStatus": null,
"dsdSupplierInd": "Y",
"supplierQuantityLevel": "EA",
"finalDestinationInd": null,
"externalReferenceId": null,
"statusUpdateByRms": null,
"defaultPricingControl": "R",
"primaryAddressType": "01",
"primaryAddressTypeDescription": null,
"primaryAddressAdd1": "200 Ryan Way",
"primaryAddressAdd2": "Suite 100",
"primaryAddressAdd3": null,
"primaryAddressCity": "Somerville",
"primaryAddressState": "MA",
"primaryAddressCountryId": "US",
"primaryAddressJurisdictionCode": null,
"primaryAddressPost": "55555-1234",
"primaryAddressContactName": "Laura Johnson",
"primaryAddressContactPhone": "617-897-0900",
"primaryAddressContactTelex": null,
"primaryAddressContactFax": "617-897-0902",
"primaryAddressContactEmail": "l_johnson@primehardware.com",
"generateConsignmentOrderInd": null,
"generateSelfInvoicingInd": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"address": [
{
"addressKey": 114772,
"addressType": "01",
"addressTypeDescription": null,
"primaryAddressInd": "Y",
"add1": "101 First Street",
"add2": "201 Second Street",
"add3": null,
"city": "Minneapolis",
"state": "MN",
"stateName": "MN",
"countryId": "US",
"countryName": "US",
"post": "55555-1234",
"contactName": "Laura Johnson",
"contactPhone": "1800800800",
"contactTelex": null,
"contactFax": "617-897-0902",
"contactEmail": "someone@email.com",
"phone2Type": "WO",
"phone2": "5551234567",
"phone3Type": "WO",
"phone3": "5551234567",
"latitude": "44.38129",
"longitude": "-92.03521",
"county": null,
"jurisdictionCode": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
],
"supplierOrgUnit": [
{
"orgUnitId": 1111111111,
"primaryPaySiteInd": "Y",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}

Table Impact

TABLESELECTINSERTUPDATEDELETE
SUPSYesNoNoNo
ADDRYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo
Supplier Publish Services

Endpoints

MerchIntegrations/services/foundation/supplier
MerchIntegrations/services/foundation/supplier/{supplierId}

Functional Area

Foundation – Suppliers and Partners
Business Overview

This service can be used by external applications to get all or selected supplier sites and the address information from Merchandising. This information is further subscribed by integrating systems like Oracle Retail Store Inventory and Operations Cloud Service (SIOCS). The address types included as part of the information are Returns, Order and Invoice address types.

Only supplier site level information is published. The supplier level information will not be published.

Service Type

GET

ReST URL
/MerchIntegrations/services/foundation/supplier?
since={since}&before={before}&offsetkey={offsetkey}&limit={limit}
/MerchIntegrations/services/foundation/supplier/{supplierId}

Input Parameters

Table 5-183 MerchIntegrations/services/foundation/supplier

Parameter NameRequire
d
Data TypeDescription
sinceNoStringSince Date.
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
beforeNoStringBefore Date
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
offsetkeyNoStringOffset Key. Valid Value is combination of
sort_order_seq and node id.
limitNoBigDecima
l
Pagination limit. Default Value is 1000.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Table 5-184 /MerchIntegrations/services/ foundation/supplier/{supplierId}

Parameter NameRequire
d
Data TypeDescription
supplierIdYesStringSupplier ID.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)
Output
NameData TypeDescription
actionStringAction for supplier details. Valid values are
INSERT, UPDATE and DELETE.
supplierNumberThis feld specifes unique identifying
number for a supplier site within the
system.
supplierNameStringThis feld specifes supplier’s site’s name.
supplierNameSecondaryStringThis feld specifes secondary name of the
supplier.
supplierStatusStringThis feld specifes whether the supplier is
currently active.
parentSupplierStringThis feld contains the supplier number for
the supplier site.
contactNameStringThis feld contains the name of the
supplier’s representative contact for this
site.
NameData TypeDescription
contactPhoneStringThis feld contains telephone number for
the supplier’s representative contact.
contactFaxStringThis feld contains fax number for the
supplier’s representative contact.
contactPagerStringThis feld contains number for the pager of
the supplier’s representative contact.
contactTelexStringThis feld contains telex number of the
partner or supplier’s representative
contact.
contactEmailStringThis feld contains email address of the
partner or supplier’s representative
contact.
qualityControlIndStringThis feld determines whether orders from
this supplier will default as requiring
quality control.
qualityControlPercentageNumberThis feld specifes percentage of items per
receipt that will be marked for quality
checking.
qualityControlFrequencyNumberThis feld specifes frequency in which
items per receipt will be marked for
quality checking.
vendorCheckingIndStringThis feld specifes whether orders from
this supplier will default as requiring
vendor control.
vendorCheckingPercentageNumberThis feld specifes percentage of items per
receipt that will be marked for vendor
checking.
vendorCheckingFrequencyNumberThis feld specifes frequency in which
items per receipt will be marked for
vendor checking.
CurrencyCodeStringThis feld specifes code identifying the
currency the supplier uses for business
transactions.
languageStringThis feld contains the supplier’s preferred
language.
termsStringThis feld contains an indicator identifying
the purchase terms that will default when
an order is created for the supplier site.
These terms specify when payment is due
and if any discounts exist for early
payment.
freightTermsStringThis feld contains code indicating what
freight terms will default when an order is
created for the supplier site.
returnAllowedIndStringThis feld specifes whether the supplier
will accept returns.
returnAuthorizationRequiredIndStringThis feld specifes if returns must be
accompanied by an authorization number
when sent back to the vendor.
NameData TypeDescription
minimumReturnValueNumberThis feld contains a value if the supplier
site requires a minimum merchandise
value to be returned to accept the return.
Returns of less than this amount will not
be processed by the system. This feld is
stored in the supplier’s currency.
returnCourierStringThis feld specifes name of the courier
that should be used for all returns to the
supplier site.
handlingPercentageNumberThis feld contains the default percent to
be multiplied by the return’s total cost to
determine the handling cost for the return.
ediOrderIndStringThis feld specifes whether purchase
orders will be sent to the supplier via EDI.
ediOrderChangeIndStringThis feld specifes whether purchase
order changes will be sent to the supplier
via EDI.
ediOrderConfrmIndStringThis feld specifes whether this supplier
will send acknowledgment of a purchase
orders sent via EDI.
ediAsnIndStringThis feld specifes whether this supplier
will send Advance Shipment Notifcations
electronically.
ediSalesReportFrequencyStringThis feld specifes EDI sales report
frequency for this supplier.
ediSupplierAvailabilityIndStringThis feld specifes whether the supplier
will send availability via EDI.
ediContractIndStringThis feld indicates whether the supplier
site supports contract ordering sent via
EDI.
ediInvoiceIndStringThis feld specifes whether invoices, debit
memos and credit note requests will be
sent to/from the supplier via Electronic
Data Interchange.
EdiChannelIdStringThis feld specifes if the supplier is an EDI
supplier and supports vendor-initiated
ordering, this feld will contain the
channel ID for the channel to which all
inventory for these types of orders will
fow.
costChangeVariancePercentageNumberThis feld contains a percent that
determines whether a cost change can be
auto approved via induction. If the cost
change falls within these boundaries, it
will be approved when uploaded.
costChangeVarianceAmtNumberThis feld contains an amount (in supplier
currency) that determines whether a cost
change can be auto approved via
induction. If the cost change falls within
these boundaries, it will be approved
when uploaded.
replenishmentApprovalIndString
This feld indicates whether contract
orders created via replenishment should
be created in Approved status.
NameData TypeDescription
shipMethodStringThis feld contains the default method used
to ship the items on the purchase order
from the supplier site. Valid values are
held in code type SHPM.
paymentMethodStringThis feld indicates the default method for
how purchase orders for this site will be
paid. Valid values are Letter of Credit (LC),
Wire Transfer (WT) and Open Account
(OA).
settlementCodeStringThis feld indicates which payment process
method is used for the supplier. Valid
values are N/A (N) and Evaluated Receipts
Settlement (E).
preMarkIndStringThis feld indicates whether the supplier
site supports pre-marking containers for
cross dock order.
autoApproveInvoiceIndStringThis feld indicates whether the supplier’s
invoices can be automatically approved
for payment.
debitMemoCodeStringThis feld indicates when a debit memo
will be sent to the supplier site to resolve a
discrepancy. Valid values are: Y - if debit
memos are always to be sent, L - if debit
memos are used only if a credit note is not
sent by the invoice due date and N - if
debit memos are never sent.
freightChargeIndStringThis feld indicates whether a supplier site
can charge freight costs.
autoApproveDebitMemoIndStringThis feld specifes whether debit memos
sent to the supplier can be automatically
approved on creation.
invManagementLevelStringThis feld indicates the level for managing
supplier inventory information. Valid
values are: supplier (S), supplier/location
(L), supplier/department (D), and supplier/
department/location (A).
backorderIndStringThis feld specifes if backorders or partial
shipments will be accepted.
vatRegionNumberThis feld contains the unique identifying
number for the VAT region applicable for
this site.
prepayInvoiceIndStringThis feld specifes whether all invoices for
the supplier can be pre-paid.
servicePerformedRequiredIndStringThis feld indicates if the supplier’s
services must be confrmed as performed
before paying an invoice from that
supplier site.
invoicePayLocationStringThis feld indicates where invoices from
this supplier site are received - at the store
(S) or centrally through corporate
accounting (C).
NameData TypeDescription
invoiceReceiveLocationStringThis feld indicates where invoices from
this supplier site are received - at the store
(S) or centrally through corporate
accounting (C).
invoiceGrossNetStringThis feld indicates if the supplier site
invoice lists items at gross cost (G) or net
cost (N).
deliveryPolicyStringThis feld contains the default delivery
policy of the supplier site. Valid values are
held in code type DLVY.
commentsStringThis feld contains any miscellaneous
comments associated with the supplier.
defaultItemLeadTimeNumberThis feld specifes default lead time for the
supplier site. The lead time is the time the
supplier needs between receiving an order
and having the order ready to ship. This
value will be defaulted to item/supplier
relationships.
dunsNoStringThis feld holds the Dun and Bradstreet
number to identify the supplier.
dunsLocationStringThis feld holds the Dun and Bradstreet
number to identify the location of the
supplier.
bracketCostingIndStringThis feld will determine if the supplier site
supports bracket costing pricing
structures.
vmiOrderStatusStringThis feld determines the status in which
any inbound POs from this supplier will be
created. A NULL value indicates that the
supplier is not a VMI supplier.
dsdSupplierIndStringThis feld specifes whether the vendor
supports DSD ordering, where the supplier
replenishes the store directly, creating the
PO and receipt at the same time.
supplierQuantityLevelStringThis feld indicates the supplier site order
quantity level. Valid values are cases (CA)
or eaches (EA).
fnalDestinationIndStringThis feld indicates whether the supplier
site can ship to fnal destination or not.
externalReferenceIdStringThis feld holds the ID for the supplier used
in the external fnancial system.
statusUpdateByRmsStringThis feld indicates that Supplier is
inactivated from RMS. Suppliers
inactivated in RMS will have this feld
updated as Y. Otherwise this feld will be
null.
defaultPricingControlStringIndicates the default value of the pricing
control attribute at the supplier site level
when supplier-controlled pricing for
Consignment/Concession ownership model
is used within the Merchandising suite of
solutions. Valid values are R – Retailer and
S – Supplier.
NameData TypeDescription
primaryAddressTypeStringThis feld specifes type for the address.
Valid values are: 01 -Business, 02 - Postal,
03 - Returns, 04 - Order, 05 - Invoice, 06 -
Remittance.
primaryAddressTypeDescriptionStringThis feld specifes address type
description.
primaryAddressAdd1StringThis feld contains the frst line of the
address.
primaryAddressAdd2StringThis feld contains the second line of the
address.
primaryAddressAdd3StringThis feld contains the third line of the
address.
primaryAddressCityStringThis feld contains the name of the city
that is associated with the address.
primaryAddressStateStringThis feld contains abbreviation of the
state for the address
primaryAddressStateNameStringThis feld contains full name of the state
for the address.
primaryAddressCountryIdStringThis feld contains the country where the
address exists.
primaryAddressJurisdictionCodeStringThis feld contains the ID associated to the
tax jurisdiction of the country-state
relationship.
primaryAddressPostStringThis feld contains the zip code for the
address.
primaryAddressContactNameStringThis feld contains the name of the contact
for the supplier at this address.
primaryAddressContactPhoneStringThis feld contains the phone number of
the contact person at this address.
primaryAddressContactTelexStringThis feld contains the telex number of the
partner or supplier’s representative
contact.
primaryAddressContactFaxStringThis feld contains the fax number of the
contact person at this address.
primaryAddressContactEmailStringThis feld contains the email address of the
partner or supplier’s representative
contact.
generateConsignmentOrderIndStringThis feld will allow specifcation of the
whether Merchandising is required to
generate POs against consignment sales.
generateSelfInvoicingIndStringThis feld will allow specifcation of the
whether the self-invoicing needs to be
done for consignment Purchases or if
Vendor will send invoices to be matched.
createDateTimeStringThis feld holds the record creation date.
updateDateTimeString
This feld holds the date when the record
was last updated.
customFlexAttributeThis List holds custom fex attributes for
address details.
addressThis list holds all the addresses of the
supplier.
NameData TypeDescription
supplierOrgUnitThis List holds list attributes for supplier/
supplier site and Org unit id. List is
populated when populated when either
Multiple Set of Books is ON And/or
Financial AP is O.
cacheTimestampStringThis feld specifes date and time when the
supplier record was last maintained.
Table 5-185 address
NameData TypeDescription
addressTypeStringThis feld specifes type for the address. Valid
values are: 01 -Business, 02 - Postal, 03 -
Returns, 04 - Order, 05 - Invoice, 06 -
Remittance.
addressTypeDescriptionStringThis feld specifes address type description.
sequenceNoNumberThis feld indicates the sequence that addresses
within the same type were entered.
primaryAddressIndStringThis feld indicates whether the address is the
primary address for the address type.
add1StringThis feld contains the frst line of the address.
add2StringThis feld contains the second line of the
address.
add3StringThis feld contains the third line of the address.
cityStringThis feld contains name of the city that is
associated with the address.
stateStringThis feld contains name of the state that is
associated with the address.
stateNameStringThis feld contains name of the state description
that is associated with the address.
countryIDStringThis feld contains name of the country that is
associated with the address.
jurisdictionCodeStringThis feld contains the ID associated to the tax
jurisdiction of the country-state relationship.
postStringThis feld contains the zip code for the address.
contactNameStringThis feld contains the name of the contact
person at this address.
contactPhoneStringThis feld contains the phone number of the
contact person at this address.
contactTelexStringThis feld contains the telex number of the
warehouse’s representative contact.
contactFaxStringThis feld contains the fax number of the
contact person at this address.
contactEmailStringThis feld contains email address of the
warehouse’s representative contact.
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record was
last updated.
customFlexAttributeThis list holds custom fex attributes for the
address.

Table 5-186 supplierOrgUnit

NameData TypeDescription
orgUnitIdNumberThis feld holds org unit id.
primaryPaySiteIndStringThis feld holds primary payment site indicator.
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record was
last updated.

Table 5-187 customFlexAttribute

NameData TypeDescription
nameStringThis feld will hold the custom fex attribute
name.
valueStringThis feld will hold the numeric or string value
of the custom fex attribute.
valueDateStringThis feld will hold the date value of the custom
fex attribute.
createDateTimeStringThis feld will hold the date time when the
custom fex attribute was inserted.
updateDateTimeStringThis feld will hold the date time when the
custom fex attribute was last updated.

Table 5-188 Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned, then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists, then 25 rows are
returned along with a “next” link else no links would be
added to the JSON response.
links“self”: This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON output:
{
  "items": [
    {
      "action": null,
      "supplier": 2330,
      "supplierName": "Dummy site 1",
      "supplierNameSecondary": null,
      "supplierStatus": "A",
      "parentSupplier": "2300",
      "contactName": "Shaurya S",
      "contactPhone": "98787987",
      "contactFax": null,
      "contactPager": null,
      "contactTelex": null,
      "contactEmail": null,
      "qualityControlInd": "N",
      "qualityControlPercentage": null,
      "qualityControlFrequency": null,
      "vendorCheckingInd": "N",
      "vendorCheckingPercentage": null,
      "vendorCheckingFrequency": null,
      "currencyCode": "USD",
      "language": null,
      "terms": "108",
      "freightTerms": null,
      "returnAllowedInd": "N",
      "returnAuthorizationRequiredInd": "Y",
      "minimumReturnValue": null,
      "returnCourier": null,
      "handlingPercentage": null,
      "ediOrderInd": "N",
      "ediOrderChangeInd": "N",
      "ediOrderConfirmInd": "N",
      "ediAsnInd": "N",
      "ediSalesReportFrequency": null,
      "ediSupplierAvailabilityInd": "N",
      "ediContractInd": "N",
      "ediInvoiceInd": "N",
      "ediChannelId": null,
      "costChangeVariancePercentage": 0,
      "costChangeVarianceAmt": 0,
      "replenishmentApprovalInd": "N",
      "shipMethod": null,
      "paymentMethod": null,
      "settlementCode": "N",
      "preMarkInd": "N",
      "autoApproveInvoiceInd": "N",
      "debitMemoCode": null,
      "freightChargeInd": "N",
      "autoApproveDebitMemoInd": "N",
      "invManagementLevel": "D",
      "backorderInd": "N",
      "vatRegion": 1000,
      "prepayInvoiceInd": "N",
      "servicePerformedRequiredInd": "N",
      "invoicePayLocation": null,
      "invoiceReceiveLocation": null,
      "invoiceGrossNet": "N",
      "deliveryPolicy": "NEXT",
      "comments": null,
      "defaultItemLeadTime": null,
      "dunsNo": null,
      "dunsLocation": null,
      "bracketCostingInd": "N",
      "vmiOrderStatus": null,
      "dsdSupplierInd": "N",
      "supplierQuantityLevel": "EA",
      "finalDestinationInd": "N",
      "externalReferenceId": null,
      "statusUpdateByRms": null,
      "defaultPricingControl": null,
      "primaryAddressType": "01",
      "primaryAddressTypeDescription": "Business",
      "primaryAddressAdd1": "test address",
      "primaryAddressAdd2": null,
      "primaryAddressAdd3": null,
      "primaryAddressCity": "MN",
      "primaryAddressState": "PA",
      "primaryAddressCountryId": "US",
      "primaryAddressJurisdictionCode": null,
      "primaryAddressPost": "3182",
      "primaryAddressContactName": null,
      "primaryAddressContactPhone": null,
      "primaryAddressContactTelex": null,
      "primaryAddressContactFax": null,
      "primaryAddressContactEmail": null,
      "generateConsignmentOrderInd": "Y",
      "generateSelfInvoicingInd": "Y",
      "createDateTime": "2023-08-08T01:23:39.000Z",
      "updateDateTime": "2023-10-26T17:07:34.000Z",
      "customFlexAttribute": [
        {
          "name": "PARTS_ATTR",
          "value": "test",
          "valueDate": null,
          "createDateTime": "2023-08-09T01:25:13.000Z",
          "updateDateTime": "2023-08-09T01:33:18.000Z"
        },
      ],
      "address": [
        {
          "addressType": "01",
          "addressTypeDescription": "Business",
          "sequenceNo": 1,
          "primaryAddressInd": "Y",
          "add1": "test address",
          "add2": null,
          "add3": null,
          "city": "MN",
          "state": "PA",
          "countryId": "US",
          "jurisdictionCode": null,
          "post": "3182",
          "contactName": null,
          "contactPhone": null,
          "contactTelex": null,
          "contactFax": null,
          "contactEmail": null,
          "createDateTime": "2023-08-08T01:34:34.000Z",
          "updateDateTime": "2023-08-09T00:56:21.000Z",
          "customFlexAttribute": null
        },
        {
          "addressType": "02",
          "addressTypeDescription": "Postal",
          "sequenceNo": 1,
          "primaryAddressInd": "Y",
          "add1": "test address",
          "add2": null,
          "add3": null,
          "city": "MN",
          "state": "PA",
          "countryId": "US",
          "jurisdictionCode": null,
          "post": "3182",
          "contactName": null,
          "contactPhone": null,
          "contactTelex": null,
          "contactFax": null,
          "contactEmail": null,
          "createDateTime": "2023-08-08T01:34:35.000Z",
          "updateDateTime": "2023-08-09T00:57:07.000Z",
          "customFlexAttribute": null
        }
      ],
      "supplierOrgUnit": [
        {
          "orgUnitId": 1111111111,
          "primaryPaySiteInd": "N",
          "createDateTime": "2023-08-08T01:36:30.000Z",
          "updateDateTime": "2023-08-08T01:36:30.000Z"
        }
      ],
      "cacheTimestamp": "2023-10-26T20:03:46.186Z"
    }
  ],
  "hasMore": false,
  "limit": 1,
  "count": 1,
  "links": null
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
SUPSYesNoNoNo
SUPS_CFA_EXTYesNoNoNo
ICL_RMS_SUPPLIERYesNoYesYes
ICL_RMS_ADDRYesNoYesYes
MERCHAPI_SUPPLIERYesYesYesYes
V_ MERCHAPI_EXT_SUPPLIER_JSONYesNoNoNo

Supplier Upload Service

Manage Supplier Evaluation Codes

Functional Area

Foundation - Suppliers and Partners

Business Overview

The Supplier Evaluation Codes Service is used by the Supplier Evaluation (ORSE) module to integrate master glossary data to Merchandising. The glossary contains a list of codes and valid values for each code. It is expected that the complete glossary will be published in a single request and Merchandising will overlay the existing codes with the information received in the service call.

Service Type

PUT

ReST URL

MerchIntegrations/services/foundation/suppliers/evaluation/codes

Input Payload Details

Table 5-189 Codes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection of
Object

Table 5-190 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
typeYesString (255)This contains the supplier evaluation
code type. Valid values are
ASSESSMENT_STATUS,
AUDIT_STATUS, AUDIT_SCORE,
SCORE, EVALUATION_TYPE, STATUS,
and ITEM_STATUS.
codeYesString (255)This is the supplier evaluation code
which contains valid values for the
code type.
localeYesCollection of
Object

Table 5-191 Locale - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageYesString (255)This feld contains the Supplier
Evaluation language code in which
the translated text is maintained. The
supported language codes are defned
in SELG code type. Few examples are
en_GB, en_US, sv, ru, nl, ja, zh_CN, it,
pt_BR, de, fr, es. Any text in a non
supported language will be ignored.
descriptionYesString (255)This feld contains the translated
value of the code.

Table 5-192 CodesError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
typeYesString (255)This contains the supplier evaluation
code type. Valid values are
ASSESSMENT_STATUS,
AUDIT_STATUS, AUDIT_SCORE,
SCORE, EVALUATION_TYPE, STATUS,
and ITEM_STATUS.
codeYesString (255)This is the supplier evaluation code
which contains valid values for the
code type.
errorMessage
Sample Input Message
YesString (2000)This feld contains the error message.
{
"items": [
{
"type": "EVALUATION
"code": "SITE_AUDIT
"locale": [
{
"language": "it
"description":
}
]
}
]
}
_TYPE",
",
",
"Verifica
del sito"

Response Code: 200 (Success) Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Table 5-193 CodesError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
typeYesString (255)This contains the supplier evaluation
code type. Valid values are
ASSESSMENT_STATUS,
AUDIT_STATUS, AUDIT_SCORE,
SCORE, EVALUATION_TYPE, STATUS,
and ITEM_STATUS.
codeYesString (255)This is the supplier evaluation code
which contains valid values for the
code type.
errorMessageYesString (2000)This feld contains the error message.
Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    {
      "type": "EVALUATION_TYPE",
      "code": "SITE_AUDIT",
      "errorMessage": "More than one record for the same type, code and
language exist."
    }
  ]
}
Manage Supplier Evaluation Transactions

Functional Area

Foundation - Suppliers and Partners
Business Overview

The Supplier Evaluation Transactions service is used by the Supplier Evaluation (ORSE) module for providing supplier evaluation related information to Merchandising. The information provided by this service includes detailed information about each evaluation event undertaken by ORSE at the supplier site level. This information can be used in Merchandising for decision making such as supplier activation or purchase order approval etc.

Service Type

PUT
ReST URL
MerchIntegrations/services/foundation/suppliers/evaluation/transactions

Input Payload Details

Table 5-194 Transactions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection of
Object

Table 5-195 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesNumber (10)This is the supplier site.
transactionTypeYesString (255)This feld determines the type of
transaction. This identifes the
message type as Audit, Assessment,
Summary, Document or Site Score.
evaluationTypeYesString (255)This feld contains the code specifc to
the supplier evaluation type. The
default set of suggested supplier
evaluation types will be Ethical,
Environmental and Governance,
however the retailer/portal owner
can confgure their own set of values
in addition or instead of these
typeBusinessKeyNoString (255)This feld contains the code of the
assessment type or the audit
template.
typeBusinessKeyDescriptionNoCollection of
Object
This node contains the language and
the corresponding translation of the
typeBusinessKey.
recordBusinessKeyNoString (255)This feld contains the name of the
assessment or audit code.
createdOnNodate-timeThis feld contains the timestamp of
the event.
dueDateNodateThis feld contains the due date of the
latest assessment for the assessment
type for this site.
statusNoString (255)This feld contains the status of the
supplier evaluation.
dueNoString (5)For assessments, this feld indicates
whether the latest assessment for the
assessment type for this site is due.
For audit events, this indicates
whether the latest audit/visit based
on the audit template for this site is
due.
overDueNoString (5)For assessments, this feld indicates
whether the latest assessment for the
assessment type for this site is
overdue. For audit events, this
indicates whether the latest audit/
visit based on the audit template for
this site is overdue.

Table 5-195 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
completionDateNodateFor documents, this feld contains the
date on which the document was last
published. For assessments, this feld
contains the timestamp that the most
recent assessment at completed
status for this assessment type for
this site most recently moved to
completed status. For audits, this feld
contains the timestamp that the most
recent audit/visit at completed status
for this audit template for this site
most recently moved to completed
status.
scoreNoString (255)This feld contains the descriptive
score of the most recent assessment
at completed status for this
assessment type for this site.
scoreValueNoNumber (10)For assessments, this feld contains
the numeric score of the most recent
assessment at completed status for
this assessment type for this site. For
audits, this feld contains the numeric
score of the most recent audit/visit at
completed status for this audit
template for this site. For supplier site
score, this feld contains the numeric
value of the site’s latest SE score.
auditOpenIssuesNoNumber (10)This feld contains the count of open
issues/non-conformances of the latest
audit/visit based on the audit
template for this site.
auditCompletedIssuesNoNumber (10)This feld contains the count of
completed issues/non-conformances
of the latest audit/visit based on the
audit template for this site.
auditTotalIssuesNoNumber (10)This feld contains the count of total
issues/non-conformances of the latest
audit/visit based on the audit
template for this site.

Table 5-196 TypeBusinessKeyDescription - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageYesString (255)This feld contains the Supplier
Evaluation language code in which
the translated text is maintained. The
supported language codes are defned
in SELG code type. Few examples are
en_GB, en_US, sv, ru, nl, ja, zh_CN, it,
pt_BR, de, fr, es. Any text in a non
supported language will be ignored.

Table 5-196 (Cont.) TypeBusinessKeyDescription - Object. See list of elements for detail

Element NameRequiredData TypeDescription
typeDescriptionYesString (255)This feld contains the translated
value of the
typeBusinessKeyDescription.

Table 5-197 TransactionsError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesNumber (10)This is the supplier site.
transactionTypeYesString (255)This feld determines the type of
transaction. This identifes the
message type as Audit, Assessment,
Summary, Document or Site Score.
evaluationTypeYesString (255)This feld contains the code specifc to
the supplier evaluation type. The
default set of suggested supplier
evaluation types will be Ethical,
Environmental and Governance,
however the retailer/portal owner
can confgure their own set of values
in addition or instead of these
typeBusinessKeyNoString (255)This feld contains the code of the
assessment type or the audit
template.
recordBusinessKeyNoString (255)This feld contains the name of the
assessment or audit code.
errorsYesArray of
String
Collection of validation errors for the
supplier evaluation record.
Sample Input Message
{
  "items": [
    {
      "supplier": 30201,
      "transactionType": "Audit",
      "evaluationType": "ETHICAL",
      "typeBusinessKey": "SITE_AUDIT",
      "typeBusinessKeyDescription": [
        {
          "language": "es",
          "typeDescription": "Auditoría del sitio"
        }
      ],
      "recordBusinessKey": "AUD45",
      "createdOn": "2001-12-31T23:59:59.123Z",
      "dueDate": "2001-12-31",
      "status": "COMPLETED",
      "due": "true",
      "overDue": "false",
      "completionDate": "2001-12-31",
      "score": "PASS",
      "scoreValue": 80,
      "auditOpenIssues": 1,
      "auditCompletedIssues": 7,
      "auditTotalIssues": 8
    }
  ]
}

Response Code: 200 (Success) Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Table 5-198 TransactionsError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesNumber (10)This is the supplier site.
transactionTypeYesString (255)This feld determines the type of
transaction. This identifes the
message type as Audit, Assessment,
Summary, Document or Site Score.
evaluationTypeYesString (255)This feld contains the code specifc to
the supplier evaluation type. The
default set of suggested supplier
evaluation types will be Ethical,
Environmental and Governance,
however the retailer/portal owner
can confgure their own set of values
in addition or instead of these
typeBusinessKeyNoString (255)This feld contains the code of the
assessment type or the audit
template.
recordBusinessKeyNoString (255)This feld contains the name of the
assessment or audit code.
errorsYesArray of
String
Collection of validation errors for the
supplier evaluation record.
Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    {
      "supplier": 30201,
      "transactionType": "Audit",
      "evaluationType": "ETHICAL",
      "typeBusinessKey": "SITE_AUDIT",
      "recordBusinessKey": "AUD45",
      "errors": [
        "Invalid evaluation type: ETHICAL"
      ]
    }
  ]
}

Tax Rules

The following services are included in this functional area:

  • Tax Rule Download Service

    • Get Item Location Tax Rules

    • Get Store Tax Location

    • Get Tax Rule Groups

  • Tax Rule Upload Service

Tax Rule Download Service

The following services are included in this functional area:

  • Get Item Location Tax Rules

  • Get Store Tax Location

  • Get Tax Rule Groups

Get Item Location Tax Rules

Functional Area

Global Tax Solution - Tax Services

Business Overview

This service retrieves the tax rules which determine how retail tax is calculated on a sales transaction for an item at the location level. This service will be used by external systems that require this information to obtain the tax rules for items being sold at a given store.

The service can retrieve tax rule details for all items at a given store, for all stores for a given item, or for all items at all stores depending on the provided input. For example, if a location is provided, the service will return information for the provided location.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: ITEM_LOC

Additional business tables: GTS_RULES_CONFIG, VAT_CODES, MERCHAPI_GTS_TAX_LOC, SYSTEM_OPTIONS

JSON cache table: MERCHAPI_GTS_TAX_LOC_ITEM

JSON generation view: V_MERCHAPI_GTS_TAX_RULE_JSON

The rule-detail portion of the payload comes from V_MERCHAPI_GTS_TAX_RULE_JSON, which is built from GTS_RULES_CONFIG and VAT_CODES.

Functionally, the GET query only returns rows whose item/location combination still exists in ITEM_LOC, and the package flow only runs when SYSTEM_OPTIONS.DEFAULT_TAX_TYPE = ‘GTS’.

Delta and refresh processing use a multi-stage GTS calculation flow.

Initial Seeding and post enablement rebuild/repair

Mark cache rows deleted when a rule is no longer returned for an affected item in the current GTS calculation result.

Thread 1 refreshes MERCHAPI_GTS_TAX_LOC before item-level tax rows are refreshed.

ICL (Integration Change Log) table: ICL_RMS_ITEM_LOC plus the upstream tax-event feeder path (ICL consumer name = MERCHAPI)

Item/location changes enter through ICL_RMS_ITEM_LOC, and the upstream tax-event feeder path submits the calculation work used to refresh affected tax rows.

Item Approval Handling

On item approval, the main item publish flow writes store ITEM_LOC rows for approved transaction-level items to ICL_RMS_ITEM_LOC so this API is also queued when the item becomes approved.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_GTS_TAX_LOC_ITEM

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_GTS_TAX_LOC_ITEM_ADHOC_PROCESS MERCHAPI_GTS_TAX_LOC_ITEM_ADHOC_JOB

Webhook configuration api name: foundation/taxLocationItem

Special handling

Additional GET query parameters: item, locationType, locationId.

The filters item, locationType, and locationId are not backed by dedicated cache-table indexes. At high volume, use them only as additional criteria on top of a small-window delta fetch and not for full downloads.

Request query values are STORE|WAREHOUSE|EXTERNAL_FINISHER, while payload values are S|W|E.

Performance Considerations

For customers expecting high to very high publish volume from this API, sizing and operational tuning should be addressed early in the implementation lifecycle. Initial cache seeding, ongoing delta processing, full extracts, and incremental downloads or webhook-driven delivery have different runtime characteristics and should be evaluated separately. Because this is the main shared GTS merchapi, the available configuration should be validated against the customer production item, location, and tax-rule profile, with the key performance-related configuration for this service covering the following:

Multi-threading and commit control

This service supports multi-threaded execution for both initial seeding and delta processing through the shared API_GTS_TAX_LOC_ITEM flow. Thread count is controlled through API_NO_OF_THREADS, and commit sizing is controlled through API_COMMIT_MAX_COUNTER.

Thread and commit settings should be chosen together based on expected item-location volume, average payload size, and the multi-stage shared tax calculation required to build and maintain the related GTS caches. Common starting points for large-volume runs are 8 or 16 threads. Higher settings such as 32 should be considered only after testing, and the delivered shared setting is currently 10.

API_COMMIT_MAX_COUNTER should be sized together with the thread setting. Typical values range from about 100 to 1,000 rows and can extend to 10,000 for simpler restartable workloads; the delivered shared setting is currently 10000 and should be changed only after validating restart behavior and database capacity. Where tax calculation cost is high, a lower thread count with a higher commit value may perform better.

REST fetch considerations

REST page size should be selected based on average payload size so the average response remains below about 10 MB per call. Common page-limit values are 1,000, 5,000, or 10,000 rows.

For full downloads, do not provide the since query parameter so the database can favor the primary-key access path. For delta downloads, use a small time window, typically a few minutes and at most a few hours, so the eligible row set on the LAST_UPDATE_DATETIME index remains small.

Wider delta windows, especially multi-day windows that can arise during outages or data recovery, generally do not perform well. For such scenarios, keeping BUILD_HISTOGRAM enabled allows the service to support recovery through smaller, more selective polling windows using the optimalBefore query parameter.

In this catch-up pattern, for requests up to 30 days in the past, the client provides optimalBefore and leaves before empty. The client then uses the returned before timestamp to continue polling incrementally until the backlog is cleared, and then resumes the normal shortwindow delta pattern. Hourly histogram processing groups LAST_UPDATE_DATETIME values into buckets of 10,000 rows in MERCHAPI_TIMESTAMP_HISTOGRAM using the shared HISTOGRAM_ROW_COUNT configuration.

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/taxLocationItem

Input Parameters
Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
itemNoStringItem
locationTypeNoStringLocation Type
locationIdNoString (10)Location
offsetkeyNoStringOffset key ([location
type],[location], [item],
Example:
S,120091,Item-35)
limitNoString (6)Pagination limit.
Default value is 1000.
optimalBeforeNoStringEnables histogram-
based calculation of
the before timestamp
when before is not
provided. Valid values
are Y or N. Default
value is N.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-199 PageResultsItemsMerchapiGtsTaxLocItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request

Table 5-199 (Cont.) PageResultsItemsMerchapiGtsTaxLocItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-200 MerchapiGtsTaxLocItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for tax location
item details.
itemNoString (25)The item ID of an
approved sellable
transaction-level item,
including a vendor
pack.
loctypeNoString (1)The location type.
Valid values are S -
store, W - warehouse,
E - external fnisher.
locationNoNumber(10,0)The location ID,
including stores,
warehouses, and
external fnishers.
taxLocationIdNoNumber(11,0)A unique identifer of
a group of tax
locations.
ruleIdNoNumber(15,0)The tax rule unique ID.
taxRegionDestinationNoNumber(4,0)Destination Tax
Region.
taxValuePerUnitNoNumber(20,10)Tax value when tax
calculation type is in
per unit.
ruleNameNoString (300)Tax rule name.
taxRegionSourceNoNumber(4,0)Source Tax Region.

Table 5-200 (Cont.) MerchapiGtsTaxLocItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
taxAuthorityIdNoString (60)A specifc tax authority
that establishes the tax
rate. The tax authority
is normally a
government body. For
example, National,
State, Province, City,
and so on.
taxCalcTypeNoString (6)Defne the tax
calculation type.
Possible values are
’P’ercentage or ‘U’nit’.
taxCodeNoString (6)Tax code.
taxRateNoNumber(20,10)Tax rate in percentage
when tax calculation
type is in percentage.
effectiveTaxRateNoNumber(20,10)Tax over tax rate
calculated based in
predecessor tax rule
when applied.
activeDateNodateEffective date when
this tax rule becomes
active.
endDateNodateEnd date when this tax
rule expires.
currencyCodeNoString (3)Contains the currency
code for the tax rule.
For unit tax
application.
createDateTimeNodateTimeThis feld holds the
date and time the
record was created.
updateDateTimeNodateTimeThis feld holds the
date and time the
record was last
updated.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the tax location item
record was last
maintained.
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication.
taxGroupIdNoString (60)A unique identifer of
a group of tax rules for
a given tax location.

Table 5-201 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"item": "Item-35",
"loctype": "S",
"location": 120091,
"taxLocationId": 10000000012,
"ruleId": 1,
"taxRegionDestination": 1,
"taxValuePerUnit": 1.0,
"ruleName": null,
"taxRegionSource": 1,
"taxAuthorityId": null,
"taxCalcType": null,
"taxCode": "S",
"taxRate": 1,
"effectiveTaxRate": 1.0,
"activeDate": "2001-12-31",
"endDate": "2001-12-31",
"currencyCode": "USD",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z",
"taxGroupId": null
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_GTS_TAX_LOC_ITEMYesNoNoNo
MERCHAPI_GTS_TAX_LOCYesNoNoNo
Get Store Tax Location

Functional Area

Global Tax Solution - Tax Services

Business Overview

This service can be used by external applications to obtain the tax location for a provided store or all stores.

In Merchandising, Tax (or VAT) Regions are associated with store definitions. These tax regions can be, or can have, a parent tax region. The tax region associated with a location must be at the lowest level, meaning a parent region cannot be assigned to a location. Store definitions may also have custom flexible attributes (CFAs) defined. If one or more of the CFAs associated with the store are flagged as taxable, it is possible to create tax rules that utilize these CFAs.

The Global Tax Solution (GTS) determines a store’s tax location based on the store’s tax region and the CFAs applied to the location and to tax rules. A location with CFAs used on a tax rule may have a different tax location from other locations that have the same tax region. If all stores are placed in the same tax region and there are no location level CFAs used on a GTS tax rule, all of these stores will have the same tax location, such as 10000001000, where 1000 is the tax region identifier. The CFA for locations is used in GTS as exception criteria for applying tax rules. For instance, all locations have the same tax region but one store qualifies for a benefit from the government to have a reduce rate. This store will have a CFA to reflect designation and rules to use the CFA. In this case, this store with the CFA will be placed in a different tax location than the other stores in the same tax region.

If a location is provided, the service will return that store’s tax location, if no location is provided the system will return all stores and their associated tax location. In order to fetch new updates pass the parameter of since/before timestamp.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: STORE

Additional business tables: GTS_RULES_CFA, SYSTEM_OPTIONS

JSON cache table: MERCHAPI_GTS_TAX_LOC

JSON generation view: not applicable; cache rows are populated directly by package logic

Functionally, the current delta and refresh logic only builds store rows (LOC_TYPE = ‘S’) and only for stores with a non-null STORE.VAT_REGION.

Stores without a matching GTS CFA restriction are assigned a tax location ID based on tax region, while stores with matching CFA restrictions are assigned a location-specific tax location ID.

The package compares the derived tax-location set with existing MERCHAPI_GTS_TAX_LOC rows to determine insert, merge, and delete behavior, and rebuild refresh marks cache rows deleted when the store no longer exists in STORE.

Initial Seeding and post enablement rebuild/repair

This service relies on the shared initial-seeding and rebuild flow used by foundation/ taxLocationItem.

Rebuild marks cache rows deleted when the store no longer exists in STORE.

ICL (Integration Change Log) table: ICL_RMS_STORE (ICL consumer name = MERCHAPI_3)

This service relies on the shared GTS change-capture and delta-processing flow used by foundation/taxLocationItem.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_GTS_TAX_LOC_ITEM

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_GTS_TAX_LOC_ITEM_ADHOC_PROCESS MERCHAPI_GTS_TAX_LOC_ITEM_ADHOC_JOB

Webhook configuration api name: foundation/taxLocation

Special handling

Additional GET query parameters: locationType, locationId.

This service shares the same GTS process family as foundation/taxLocationItem and foundation/taxGroupRule.

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/taxLocation

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)

Output

Parameter NameRequiredData TypeDescription
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
locationTypeNoStringLocation Type
locationIdNoString (10)Location
offsetkeyNoStringOffset key ([location
type],[location],[tax
location id] Example:
S,120091,10000000012)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)
able 5-202 Page
etail
Element Name
ResultsItemsMerch
Required
apiGtsTaxLoc - Object. See
Data Type
list of elements for
Description
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-202 PageResultsItemsMerchapiGtsTaxLoc - Object. See list of elements for detail

Table 5-203 MerchapiGtsTaxLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for tax location
details.
locationNoNumber(10,0)The location ID of the
store.
locationTypeNoString (1)The location type.
Valid value is S - store.
taxLocationIdNoNumber(11,0)A unique identifer of
a group of tax
locations.
createDateTimeNodateTimeThis feld holds the
date and time the
record was created.
updateDateTimeNodateTimeThis feld holds the
date and time the
record was last
updated.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the tax location record
was last maintained.
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication.

Table 5-204 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"location": 120091,
"locationType": "S",
"taxLocationId": 10000001000,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_GTS_TAX_LOCYesNoNoNo
Get Tax Rule Groups

Functional Area

Global Tax Solution - Tax Services

Business Overview

This service retrieves the tax groups and associated tax rules for use by external systems. Tax rule groups are determined by Merchandising based on how many tax rules are applied to a given item/tax region combination.

Tax rules are defined for tax regions and a set of items. Tax rules contain calculation details that inform the system how to calculate the tax. A given item/location may have one or more applicable tax rules.

Tax Rules

Tax Rule | Items | Tax Region | Tax Calculation\

Tax Rule A | 111, 222, 333 | Main Region | Standard VAT 16%\

Tax Rule B | 444, 555, 666 | Main Region | Reduced VAT 0%\

Tax Rule C | 111, 222, 333 | Border Region | Standard VAT 8%\ Tax Rule D | 444, 555, 666 | Border Region | Reduced VAT 0%\

Tax Rule E | 222, 444 | Main Region | IEPS Tax 2.00 per unit\

Tax Rule F | 333, 555 | Border Region | IEPS Tax 1%

Each store in Merchandising will have an associated tax region:

Store Definitions Location | Tax Region\ Store A | Main Region\ Store B | Main Region\ Store C | Border Region\

Store D | Border Region

Merchandising will organize the tax rules into tax groups using the tax rule definitions and location’s tax region associations.

For any case where one or more items have a unique tax rule, or a unique set of tax rules at one or more stores, the system will create a tax group for the tax rule or group of tax rules.

Steps to determine the Tax Group for a given item/location:

Find the store’s tax location. The tax location identifier is derived based on the location’s tax region and the association of the location’s CFAs to one or more tax rules. A store with CFAs used on a tax rule may have a different tax location from other stores that are part of the same tax region.

Using the item and the store’s tax region, find the applicable tax rules.

For each unique result, whether it is one tax rule or multiple, the system will assign a new tax group identifier.

The table below shows the associated tax group for Items 111, 222, 333, 444, 555, or 666 at either the Main Region or Border Region based on the Tax Rules and Store Definitions listed above. Both items 111 and 333 at stores associated with the Main tax region, only require Tax Rule A, this is Group 1. There is one item that requires Tax Rule B, and it is item 666 at stores in the Main Region, this is Group 2. Item 222 at stores in the Main tax region have both Tax Rule A and Tax Rule E, this is Group 5. The table below shows the tax groups for this set of items and tax regions. This service will return the Tax Groups, the Tax Regions (referred to as Tax Location in the output) and the associated tax rules.

Tax Groups

Item | Tax Region | Tax Rule or Rules Applied | Tax Group\

111, 333 | Main Region | Tax Rule A | Group 1\ 666 | Main Region | Tax Rule B | Group 2\ 111, 222 | Border Region | Tax Rule C | Group 3\ 444, 666 | Border Region | Tax Rule D | Group 4\ 222 | Main Region | Tax Rule A and Tax Rule E | Group 5\ 444 | Main Region | Tax Rule B and Tax Rule E | Group 6\ 333 | Border Region | Tax Rule C and Tax Rule F | Group 7\

555 | Border Region | Tax Rule D and Tax Rule F | Group 8

The Tax Authority provided in the output of this service is derived by Merchandising Tax Codes setup (vat_codes).

In order to fetch new updates pass the parameter of since/before timestamp.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: MERCHAPI_GTS_TAX_LOC_ITEM, GTS_RULES_CONFIG

Additional business tables: VAT_CODES

JSON cache table: MERCHAPI_GTS_TAX_GROUP_RULE

JSON generation view: not applicable; cache rows are populated directly by package logic

The package derives the published groups from MERCHAPI_GTS_TAX_LOC_ITEM, enriches rule names from GTS_RULES_CONFIG, and pulls rule-detail JSON from V_MERCHAPI_GTS_TAX_RULE_JSON, which is built from GTS_RULES_CONFIG and VAT_CODES.

Functionally, the service publishes one row per (tax_group_id, tax_loc_id, rule_id) and represents the unique set of tax rules that applies to an item/tax-location combination.

To build a tax group, the package concatenates the ordered rule IDs with LISTAGG, hashes that string with ORA_HASH to derive tax_group_id, concatenates the corresponding rule names into group_name, and assigns rule_sequence by ascending rule_id.

Initial Seeding and post enablement rebuild/repair

This service relies on the shared initial-seeding and rebuild flow used by foundation/ taxLocationItem.

Mark cache rows deleted when a rule is no longer returned for an affected item in the current GTS calculation result.

Rebuild updates or inserts changed rows; no separate rebuild delete step was found in this package.

ICL (Integration Change Log) table: ICL_RMS_GTS_RULES_CONFIG delete events (ICL consumer name = MERCHAPI_3)

This service relies on the shared GTS change-capture and delta-processing flow used by foundation/taxLocationItem.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_GTS_TAX_LOC_ITEM

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_GTS_TAX_LOC_ITEM_ADHOC_PROCESS MERCHAPI_GTS_TAX_LOC_ITEM_ADHOC_JOB

Webhook configuration api name: foundation/taxGroupRule

Service Type

GET
ReST URL

MerchIntegrations/services/foundation/taxGroupRule

Input Parameters
Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoStringOffset key ([Tax Group
Id],[Tax location], [Tax
Rule Id] Example:
43242,5435345,123142
54)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Response Code: 200 (Success)

Table 5-205 PageResultsItemsMerchapiGtsTaxGroupRule - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object

Table 5-205 (Cont.) PageResultsItemsMerchapiGtsTaxGroupRule - Object. See list of elements for detail

Element NameRequiredData TypeDescription
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-206 MerchapiGtsTaxGroupRule - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for tax group
rule details.
taxGroupIdNoString (60)A unique identifer of
a group of tax rules for
a given tax location.
groupNameNoString (254)Tax group name.
taxLocationIdNoNumber(11,0)A unique identifer of
a group of tax
locations.
ruleIdNoNumber(15,0)Tax rule unique ID.
ruleSequenceNoNumber(15,0)A sequential number
for the tax rule within
the group.
ruleNameNoString (300)Tax rule name.
taxRegionSourceNoNumber(4,0)Source Tax Region.
taxRegionDestinationNoNumber(4,0)Destination Tax
Region.
taxAuthorityIdNoString (60)A specifc tax authority
that establishes the tax
rate. The tax authority
is normally a
government body. For
example, National,
State, Province, City,
and so on.
taxCalcTypeNoString (6)Defne the tax
calculation type.
Possible values are
’P’ercentage or ‘U’nit’.
taxCodeNoString (6)Tax code.
taxRateNoNumber(20,10)Tax rate in percentage
when tax calculation
type is in percentage.
effectiveTaxRateNoNumber(20,10)Tax over tax rate
calculated based in
predecessor tax rule
when applied.
activeDateNodateEffective date when
this tax rule becomes
active.

Table 5-206 (Cont.) MerchapiGtsTaxGroupRule - Object. See list of elements for detail

Element NameRequiredData TypeDescription
endDateNodateEnd date when this tax
rule expires.
currencyCodeNoString (3)Contains the currency
code for the tax rule.
For unit tax
application.
taxValuePerUnitNoNumber(20,10)Tax value when tax
calculation type is in
per unit.
createDateTimeNodateTimeThis feld holds the
date and time the
record was created.
updateDateTimeNodateTimeThis feld holds the
date and time the
record was last
updated.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the tax group rule
record was last
maintained.
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication.

Table 5-207 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"taxGroupId": "43242",
"groupName": "Tax Rule A|Tax Rule E",
"taxLocationId": 10000001000,
"ruleId": 12314254,
"ruleSequence": 1,
"ruleName": "Tax Rule A",
"taxRegionSource": 1,
"taxRegionDestination": 1,
"taxAuthorityId": null,
"taxCalcType": null,
"taxCode": "S",
"taxRate": 1,
"effectiveTaxRate": 1.0,
"activeDate": "2001-12-31",
"endDate": "2001-12-31",
"currencyCode": "USD",
"taxValuePerUnit": 1.0,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Elements in JSON Output
ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element corresponds
to a row in the result set generated by the query.
hasMoreThis is dependent on limit value. If the total rows are more
than the limit defned, then hasMore will be set to true
else false.
limitThis is used to limit the rows to control the paging of result
data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists, then 25 rows are
returned along with a “next” link else no links would be
added to the JSON response.
links“self”: This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.

Table 5-208 Items - Object. See list of elements for detail

NameData TypeDescription
actionStringAction for tax group rules details. Valid
Values are INSERT, UPSERT, UPDATE
and DELETE.
taxGroupIdStringThe tax group identifer is determined
by Merchandising based on the criteria
applied on the combinations of
location tax identifcation, tax rules
and items.
groupNameStringGroup Name
taxLocationIdStringThe tax location identifer is derived
based on the location’s tax region and
the association of the location’s CFAs to
one or more tax rules. A store with
CFAs used on a tax rule may have a
different tax location from other stores
that are part of the same tax region.
ruleIdStringTax Rule identifer
ruleSequenceStringSequence of the rule within the tax
group
ruleNameStringTax Rule Name
taxRegionSourceStringSource Tax Region.
taxRegionDestinationStringDestination Tax Region
taxAuthorityIdStringA specifc tax authority that establishes
the tax rate. The tax authority is
normally a government body. For
example, National, State, Province, City,
and so on.
taxCalcTypeStringThe tax calculation type which
indicates if the tax is calculated as a
percentage of a value or as a monetary
amount per unit. Possible values are
Percentage (P) or Per Unit (U).
taxCodeStringTax code
taxRateStringTax rate in percentage when tax
calculation type is Percentage (P).
effectiveTaxRateStringTax over tax rate calculated based on
predecessor tax rule when applied
taxValuePerUnitStringTax value when tax calculation type is
Per Unit (U).
activeDateStringDate upon which this tax rule became,
or will become active.
endDateStringDate upon which this tax rule expired
or will expire.
currencyCodeStringContains the currency code for the tax
rule. For per unit tax application.
createDateTimeStringThis feld holds the record creation
date.

Table 5-208 (Cont.) Items - Object. See list of elements for detail

Name Data Type Description updateDateTime String This field holds the date when the record was last updated. cacheTimestamp String This field specifies date and time when the tax group record was last maintained. Sample Response Message { "items": [ { "action": "INSERT", "taxGroupId": 2654787678, "groupName": "Rule 55003", "taxLocationId": 10000000011, "ruleId": "55003", "createDateTime": "2024-07-19T02:37:21.757Z", "updateDateTime": "2024-07-19T02:37:21.757Z", "cacheTimestamp": "2024-07-19T02:37:21.757Z", "ruleName": "Rule 55003", "taxRegionSource": 1, "taxRegionDestionation": 11, "taxAuthorityId": null, "taxCalcType": "P", "taxCode": "MIV2", "taxRate": 0, "effectiveTaxRate": null, "taxValuePerUnity": null, "activeDate": "2024-04-23", "endDate": null, "currencyCode": null, "ruleSequence": "1" } ], "hasMore": true, "limit": 1, "count": 1, "links": [ { "href": "https://<server>:<port>/Application/services/foundation/ taxGroupRule? limit=1&since=1970-01-01T00:00:00.001Z&before=2024-07-24T17:26:51.588Z", "rel": "self" }, { "href": "https://<server>:<port>/Application/services/foundation/ taxGroupRule? offsetkey=2654787678%2C10000000011%2C55003&limit=1&since=1970-01-01T00:00:00.0 01Z&before=2024-07-24T17:26:51.588Z", "rel": "next" }

  ]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_GTS_TAX_GROUP_RULEYesNoNoNo

Tax Rule Upload Service

Functional Area
Foundation - Tax Rules
Business Overview

The primary role of this service is to create, update or delete Merchandising’s Tax Rules.

Create Tax Rule
Business Overview

Create a new Tax Rule.

Service Type

POST
ReST URL
/foundation/taxRules/create
Input Parameters
Parameter NameRequiredData TypeDescription
ruleIdNoNumber (15)Tax rule unique ID.
ruleNameNoString (300)Tax Rule Name.
taxRegionSourceNoNumber (4)Source Tax Region.
taxRegionDestinationNoNumber (4)Destination Tax Region.
activeDateNodateEffective date when this tax rule
become active.
endDateNodateEnd date when this tax rule expired.
statusNoString (6)Status of the Rule. Valid Values are
’AC’ for Active, ‘AP’ for Approved, ‘O’
Obsoleted, ‘S’ for Submitted, ‘U’ for
Updated, ‘W’ for Worksheet.
taxCodeNoString (6)Tax code.
Parameter NameRequiredData TypeDescription
taxCalcTypeNoString (6)Defne the tax calculation type.
Possible values are ‘P’ for Percentage
or ‘U’ for Unit’.
taxRateNoNumber
(20,10)
Tax rate in percentage when tax
calculation type is in percentage.
taxBasisTypeNoString (6)Indicate which value is used as base
calculation to apply tax. Valid values
are:’C’ for UNIT_COST, ‘R’ for
UNIT_R’ETAIL, or ‘B’ for BOTH,
‘N’ON_MERCH_COST.
taxBasisFactorNoNumber
(20,10)
Contains a unique user specifed
code representing the non-
merchandise code.
nonMerchCodeNoString (6)Contains a unique user specifed
code representing the non-
merchandise code.
uomTypeNoString (4)UOM type selected to be considered
when tax calculation is in unit.
uomValueNoNumber
(20,10)
UOM value selected to be considered
when tax calculation is in unit.
currencyCodeNoString (3)Contains the currency code for the
tax rule. For unit tax application.
reverseTaxIndNoString (1)Reverse Tax Indicator: Valid values
are ‘Y’ for Enable or ‘N’ for Disable.
reverseTaxThresholdNoNumber
(20,10)
Threshold amount to be taken in
consideration while returning the tax
code. It will have value when
REVERSE_TAX_IND is Y.
predecessorTaxRulesIdNoNumber (15)Holds the predecessor rule ID that
the result of the tax calculated in the
predecessor rule will be added to the
tax basis of the current rule in order
to address Tax over Tax calculation
requirement.
regionExplodeTypeNoString (6)Tax over tax rate calculated based in
predecessor tax rule when applied.
gtsRulesConfgTlTblNoCollection of
Object
Translation records associated with
tax record.
gtsRulesConditionsTblNoCollection of
Object
Conditions associated with tax
record.
gtsRulesCfaTblNoCollection of
Object
Rules restrictions associated with tax
record.

Table 5-209 GtsRulesConfigTlTbl - This table receive information regarding translations that may be necessary.

Parameter NameRequiredData TypeDescription
ruleNameNoString (300)Translated Rule.
langNoNumber (6)Lang.

Table 5-210 GtsRulesConditionsTbl - This table receives the conditions that will be used in the processing.

Parameter NameRequiredData TypeDescription
conditionTypeNoString (6)Type of condition used. Valid values
are ‘1’ for All Departments,‘2’ for
Department,‘3’ for Class,‘4’ for
Subclass,‘5’ for Item,‘6’ for Parent/
Diff,‘7’ for Item List and ‘8’ for Upload
List.
deptNoNumber (4)Item Department.
classNoNumber (4)Item Class.
subclassNoNumber (4)Item subclass.
itemIdNoString (25)Item ID.
itemListNoNumber (8)This feld contains Item List number
that was used to create this item
record.
excludeIndNoString (1)Indicates if the condition in exclude
or include. Valid values are Y or N.
diffIdNoString (10)Diff ID used when condition type is
Parent/DIFF.

Table 5-211 GtsRulesCfaTbl - This table (CFA) receives and process the restrictions associated with the rules.

Element NameRequiredData TypeDescription
attributeIdNoNumber (10)This column holds the attribute id
that this extended data is associated
with.
attributeValueNoString (250)This column holds the CFA value
selected for the rule.
restrictionLevelNoString (6)Restriction Level. Valid values are M
for Merchandise Hierarchy, D for
Destination Region and S for Source
Region.
JSON Structure:
{
  "ruleId": 919875,
  "ruleName": "Tax Rules US-CA",
  "taxRegionSource": 1000,
  "taxRegionDestination": 200,
  "activeDate": "2022-09-01",
  "endDate": "2022-12-31",
  "status": "S",
  "taxCode": "S",
  "taxCalcType": "P",
  "taxRate": 35.00,
  "taxBasisType": "B",
  "taxBasisFactor": 11.00,
  "nonMerchCode": "",
  "uomType": ",
  "uomValue": 68.00,
  "currencyCode": "",
  "reverseTaxInd": "",
  "reverseTaxThreshold": 19.00,
  "predecessorTaxRulesId": 514301,
  "regionExplodeType": "A",
  "gtsRulesConfigTlTbl": [
    {
      "ruleName": "Tax Rules TL US-CA",
      "lang": 2
    }
  ],
  "gtsRulesConditionsTbl": [
    {
      "conditionType": "1"
    }
  ],
  "gtsRulesCfaTbl": [
    {
      "attributeId": 4,
      "attributeValue": "A",
      "restrictionLevel": "S"
    }
  ]
}

Output

Element NameRequiredData TypeDescription
statusNoString (255)Process Execution status.E –
Execution fnished with errors.
S – Execution completed successfully.
errMsgNoString (4000)Error message, in case of error.
errTblNoCollection of
Object
Error table in case of existing errors.

Table 5-212 ErrTbl - Table used to detail errors associated with execution.

Element NameRequiredData TypeDescription
columnNameNoString (255)Column name associated with error
message.
errorMsgNoString (4000)Error msg.
JSON Structure:
{
  "status": "E",
  "errMsg": "”
  "errTbl": [
    {
      "columnName": "STATUS",
      "errorMsg": "Invalid Status.","
    }
  ]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Table Impact

TABLESELECTINSERTUPDATEDELETE
SVC_GTS_RULES_CONFIGYesYesNoNo
SVC_GTS_RULES_CONFIG_TLYesYesNoNo
SVC_GTS_RULES_CFAYesYesNoNo
SVC_GTS_RULES_CONDITIONSYesYesNoNo
GTS_RULES_CONFIGYesNoNoNo
GTS_RULES_CONFIG_TLYesNoNoNo
GTS_RULES_CFAYesNoNoNo
GTS_RULES_CONDITIONSYesNoNoNo
Update Tax Rule
Business Overview

Update an existing Tax Rule.

Service Type
PUT
ReST URL
/foundation/taxRules/update
Input
Parameter NameRequiredData TypeDescription
ruleIdNoNumber (15)Tax rule unique ID.
ruleNameNoString (300)Tax Rule Name.
taxRegionSourceNoNumber (4)Source Tax Region.
taxRegionDestinationNoNumber (4)Destination Tax Region.
activeDateNodateEffective date when this tax rule
become active.
endDateNodateEnd date when this tax rule expired.
statusNoString (6)Status of the Rule. Valid Values are
’AC’ for Active, ‘AP’ for Approved, ‘O’
Obsoleted, ‘S’ for Submitted, ‘U’ for
Updated, ‘W’ for Worksheet.
taxCodeNoString (6)Tax code.
taxCalcTypeNoString (6)Defne the tax calculation type.
Possible values are ‘P’ for Percentage
or ‘U’ for Unit’.
taxRateNoNumber
(20,10)
Tax rate in percentage when tax
calculation type is in percentage.
taxBasisTypeNoString (6)Indicate which value is used as base
calculation to apply tax. Valid values
are: ’C’ for UNIT_COST, ‘R’ for
UNIT_R’ETAIL, or ‘B’ for BOTH,
‘N’ON_MERCH_COST.
taxBasisFactorNoNumber
(20,10)
Contains a unique user specifed code
representing the non-merchandise
code.
nonMerchCodeNoString (6)Contains a unique user specifed code
representing the non-merchandise
code.
uomTypeNoString (4)UOM type selected to be considered
when tax calculation is in unit.
uomValueNoNumber
(20,10)
UOM value selected to be considered
when tax calculation is in unit.
currencyCodeNoString (3)Contains the currency code for the
tax rule. For unit tax application.
reverseTaxIndNoString (1)Reverse Tax Indicator: Valid values
are ‘Y’ for Enable or ‘N’ for Disable.
reverseTaxThresholdNoNumber
(20,10)
Threshold amount to be taken in
consideration while returning the tax
code. It will have value when
REVERSE_TAX_IND is Y.
predecessorTaxRulesIdNoNumber (15)Holds the predecessor rule ID that
the result of the tax calculated in the
predecessor rule will be added to the
tax basis of the current rule in order
to address Tax over Tax calculation
requirement.
regionExplodeTypeNoString (6)Tax over tax rate calculated based in
predecessor tax rule when applied.
Parameter NameRequiredData TypeDescription
gtsRulesConfgTlTblNoCollection of
Object
Translation records associated with
tax record.
gtsRulesConditionsTblNoCollection of
Object
Conditions associated with tax
record.
gtsRulesCfaTblNoCollection of
Object
Rules restrictions associated with tax
record.

Table 5-213 GtsRulesConfigTlTbl - This table receive information regarding translations that may be necessary.

Element NameRequiredData TypeDescription
ruleNameNoString (300)Translated Rule.
langNoNumber (6)Lang.

Table 5-214 GtsRulesConditionsTbl - This table receives the conditions that will be used in the processing.

Element NameRequiredData TypeDescription
conditionTypeNoString (6)Type of condition used. Valid values
are ‘1’ for All Departments,‘2’ for
Department,‘3’ for Class,‘4’ for
Subclass,‘5’ for Item,‘6’ for Parent/
Diff,‘7’ for Item List and ‘8’ for Upload
List.
deptNoNumber (4)Item Department.
classNoNumber (4)Item Class.
subclassNoNumber (4)Item subclass.
itemIdNoString (25)Item ID.
itemListNoNumber (8)This feld contains Item List number
that was used to create this item
record.
excludeIndNoString (1)Indicates if the condition in exclude
or include. Valid values are Y or N.
diffIdNoString (10)Diff ID used when condition type is
Parent/DIFF.

Table 5-215 GtsRulesCfaTbl - This table (CFA) receives and process the restrictions associated with the rules.

Element NameRequiredData TypeDescription
attributeIdNoNumber (10)This column holds the attribute id
that this extended data is associated
with.
attributeValueNoString (250)This column holds the CFA value
selected for the rule.

Table 5-215 (Cont.) GtsRulesCfaTbl - This table (CFA) receives and process the restrictions associated with the rules.

Element NameRequiredData TypeDescription
restrictionLevelNoString (6)Restriction Level. Valid values are M
for Merchandise Hierarchy, D for
Destination Region and S for Source
Region.
JSON Structure:
{
  "ruleId": 919875,
  "ruleName": "Tax Rules US-CA",
  "taxRegionSource": 1000,
  "taxRegionDestination": 200,
  "activeDate": "2022-09-01",
  "endDate": "2022-12-31",
  "status": "W",
  "taxCode": "S",
  "taxCalcType": "P",
  "taxRate": 35.00,
  "taxBasisType": "B",
  "taxBasisFactor": 11.00,
  "nonMerchCode": "",
  "uomType": ",
  "uomValue": 68.00,
  "currencyCode": "",
  "reverseTaxInd": "",
  "reverseTaxThreshold": 19.00,
  "predecessorTaxRulesId": 514301,
  "regionExplodeType": "A",
  "gtsRulesConfigTlTbl": [
    {
      "ruleName": "Tax Rules TL US-CA",
      "lang": 2
    }
  ],
  "gtsRulesConditionsTbl": [
    {
      "conditionType": "1"
    }
  ],
  "gtsRulesCfaTbl": [
    {
      "attributeId": 4,
      "attributeValue": "A",
      "restrictionLevel": "S"
    }
  ]
}
Output
Element NameRequiredData TypeDescription
statusNoString (255)Process Execution status.E –
Execution fnished with errors.
S – Execution completed successfully.
errMsgNoString (4000)Error message, in case of error.
errTblNoCollection of
Object
Error table in case of existing errors.

Table 5-216 ErrTbl - Table used to detail errors associated with execution.

Element NameRequiredData TypeDescription
columnNameNoString (255)Column name associated with error
message.
errorMsgNoString (4000)Error msg.
JSON Structure:
{
  "status": "E",
  "errMsg": " CANNOT_UPD_RULE ",
  "errTbl": [
    {
      "columnName": "",
      "errorMsg": " The rule was not submitted successfully."
    }
  ]
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

JSON Structure:
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Table Impact

TABLESELECTINSERTUPDATEDELETE
SVC_GTS_RULES_CONFIGYesYesNoNo
SVC_GTS_RULES_CONFIG_TLYesYesNoNo
SVC_GTS_RULES_CFAYesYesNoNo
SVC_GTS_RULES_CONDITIONSYesYesNoNo
GTS_RULES_CONFIGYesNoYesNo
GTS_RULES_CONFIG_TLYesNoYesNo
GTS_RULES_CFAYesNoYesNo
GTS_RULES_CONDITIONSYesNoYesNo
Delete Tax Rule
Business Overview

Delete an existing Tax Rule

Service Type
DELETE
ReST URL
/foundation/taxRules/delete

Input

Parameter NameRequiredData TypeDescription
ruleIdNoNumber (15)Tax rule unique ID.
ruleNameNoString (300)Tax Rule Name.
taxRegionSourceNoNumber (4)Source Tax Region.
taxRegionDestinationNoNumber (4)Destination Tax Region.
activeDateNodateEffective date when this tax rule
become active.
endDateNodateEnd date when this tax rule expired.
statusNoString (6)Status of the Rule. Valid Values are
’AC’ for Active, ‘AP’ for Approved, ‘O’
Obsoleted, ‘S’ for Submitted, ‘U’ for
Updated, ‘W’ for Worksheet.
taxCodeNoString (6)Tax code.
taxCalcTypeNoString (6)Defne the tax calculation type.
Possible values are ‘P’ for Percentage
or ‘U’ for Unit’.
taxRateNoNumber
(20,10)
Tax rate in percentage when tax
calculation type is in percentage.
taxBasisTypeNoString (6)Indicate which value is used as base
calculation to apply tax. Valid values
are: ’C’ for UNIT_COST, ‘R’ for
UNIT_R’ETAIL, or ‘B’ for BOTH,
‘N’ON_MERCH_COST.
Parameter NameRequiredData TypeDescription
taxBasisFactorNoNumber
(20,10)
Contains a unique user specifed code
representing the non-merchandise
code.
nonMerchCodeNoString (6)Contains a unique user specifed code
representing the non-merchandise
code.
uomTypeNoString (4)UOM type selected to be considered
when tax calculation is in unit.
uomValueNoNumber
(20,10)
UOM value selected to be considered
when tax calculation is in unit.
currencyCodeNoString (3)Contains the currency code for the tax
rule. For unit tax application.
reverseTaxIndNoString (1)Reverse Tax Indicator: Valid values
are ‘Y’ for Enable or ‘N’ for Disable.
reverseTaxThresholdNoNumber
(20,10)
Threshold amount to be taken in
consideration while returning the tax
code. It will have value when
REVERSE_TAX_IND is Y.
predecessorTaxRulesIdNoNumber (15)Holds the predecessor rule ID that the
result of the tax calculated in the
predecessor rule will be added to the
tax basis of the current rule to
address Tax over Tax calculation
requirement.
regionExplodeTypeNoString (6)Tax over tax rate calculated based in
predecessor tax rule when applied.
gtsRulesConfgTlTblNoCollection of
Object
Translation records associated with
tax record.
gtsRulesConditionsTblNoCollection of
Object
Conditions associated with tax record.
gtsRulesCfaTblNoCollection of
Object
Rules restrictions associated with tax
record.

Table 5-217 GtsRulesConfigTlTbl - This table receive information regarding translations that may be necessary.

Element NameRequiredData TypeDescription
ruleNameNoString (300)Translated Rule.
langNoNumber (6)Lang.

Table 5-218 GtsRulesConditionsTbl - This table receives the conditions that will be used in the processing.

Element NameRequiredData TypeDescription
conditionTypeNoString (6)Type of condition used. Valid values
are ‘1’ for All Departments,‘2’ for
Department,‘3’ for Class,‘4’ for
Subclass,‘5’ for Item,‘6’ for Parent/
Diff,‘7’ for Item List and ‘8’ for Upload
List.
deptNoNumber (4)Item Department.
classNoNumber (4)Item Class.
subclassNoNumber (4)Item subclass.
itemIdNoString (25)Item ID.
itemListNoNumber (8)This feld contains Item List number
that was used to create this item
record.
excludeIndNoString (1)Indicates if the condition in exclude
or include. Valid values are Y or N.
diffIdNoString (10)Diff ID used when condition type is
Parent/DIFF.

Table 5-219 GtsRulesCfaTbl - This table (CFA) receives and process the restrictions associated with the rules.

Element NameRequiredData TypeDescription
attributeIdNoNumber (10)This column holds the attribute id
that this extended data is associated
with.
attributeValueNoString (250)This column holds the CFA value
selected for the rule.
restrictionLevelNoString (6)Restriction Level. Valid values are M
for Merchandise Hierarchy, D for
Destination Region and S for Source
Region.
JSON Structure:
{
  "ruleId": 919875,
  "ruleName": "Tax Rules US-CA",
  "taxRegionSource": 1000,
  "taxRegionDestination": 200,
  "activeDate": "2022-09-01",
  "endDate": "2022-12-31",
  "status": "W",
  "taxCode": "S",
  "taxCalcType": "P",
  "taxRate": 35.00,
  "taxBasisType": "B",
  "taxBasisFactor": 11.00,
  "nonMerchCode": "",
  "uomType": ",
  "uomValue": 68.00,
  "currencyCode": "",
  "reverseTaxInd": "",
  "reverseTaxThreshold": 19.00,
  "predecessorTaxRulesId": 514301,
  "regionExplodeType": "A",
  "gtsRulesConfigTlTbl": [
    {
      "ruleName": "Tax Rules TL US-CA",
      "lang": 2
    }
  ],
  "gtsRulesConditionsTbl": [
    {
      "conditionType": "1"
    }
  ],
  "gtsRulesCfaTbl": [
    {
      "attributeId": 4,
      "attributeValue": "A",
      "restrictionLevel": "S"
    }
  ]
}

Output

Element NameRequiredData TypeDescription
statusNoString (255)Process Execution status.E –
Execution fnished with errors.
S – Execution completed successfully.
errMsgNoString (4000)Error message, in case of error.
errTblNoCollection of
Object
Error table in case of existing errors.

Table 5-220 ErrTbl - Table used to detail errors associated with execution.

Element NameRequiredData TypeDescription
columnNameNoString (255)Column name associated with error
message.
errorMsgNoString (4000)Error msg.
JSON Structure:
{
  "status": "E",
  "errMsg": " CANNOT_UPD_RULE ",
  "errTbl": [
    {
      "columnName": "",
      "errorMsg": " The rule was not submitted successfully."
    }
  ]
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Table Impact

TABLESELECTINSERTUPDATEDELETE
SVC_GTS_RULES_CONFIGYesYesNoNo
SVC_GTS_RULES_CONFIG_TLYesYesNoNo
SVC_GTS_RULES_CFAYesYesNoNo
SVC_GTS_RULES_CONDITIONSYesYesNoNo
GTS_RULES_CONFIGYesNoNoYes
GTS_RULES_CONFIG_TLYesNoNoYes
GTS_RULES_CFAYesNoNoYes
GTS_RULES_CONDITIONSYesNoNoYes

Franchise Management

The following services are included in this functional area:

  • Customer Credit Status Upload Service

    • Update Customer Credit Status
  • Franchise Order Upload Service

    • Create Franchise Orders

    • Manage Franchise Orders

Customer Credit Status Upload Service

The following services are included in this functional area:

  • Update Customer Credit Status

Update Customer Credit Status

Functional Area

Franchise Management

Business Overview

This service provides a way for an external source, usually a financials system, to update the credit status for a franchise customer in Merchandising. This status is used when determining whether a franchisee order can be approved. Valid values are Y (credit is good) and N (credit issues). For each collection of customer and customer group passed into the service, the credit flag will be updated with the value indicated in the service call.

Merchandising returns failure status as part of the response object in the web service call if credit flag is not updated due to validation errors.

This service supports a collection of record to be submitted. The service either processes all the records or rejects all the record if there is a one or more bad record.

Service Type

PUT

ReST URL
MerchIntegrations/services/franchiseManagement/customerCreditStatus/update
Input Payload Details

Table 5-221 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
This should match with the number
of records in the input message.
itemsNoCollection of
Object
Collection of Customer records.

Table 5-222 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
customerIdYesNumber (10)The unique customer identifer.
customerGroupIdYesNumber (10)Customer Group to which the
customer belongs to.

Table 5-222 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
creditIndYesString (1)Determine if the customer has good
credit. valid values ‘Y’ and ‘N’.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "customerId": 10061,
      "customerGroupId": 1006,
      "creditInd": "Y"
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message

{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Franchise Order Upload Service

The following services are included in this functional area:

  • Create Franchise Orders

  • Manage Franchise Orders

Create Franchise Orders

Functional Area

Franchise Management

Business Overview
Deprecated in v24.1.301.0: Scheduled for Removal in 2 Years.

Use MerchIntegrations/services/franchiseManagement/franchiseOrder/manage

This service is used from an external source, usually an order management system, to create franchise orders in Merchandising. This service accepts a collection of franchise order and will return success or failure through the service response object. The franchise order uploaded through this service will be created with an order type of ‘EDI’. A linked transfer, PO or store order will be created for the approved franchise orders.

Franchise orders created via this service will be systematically approved if the customer is setup for auto approval, provided the customer has valid credit. If the order does not meet the criteria for auto-approval, Merchandising will create the franchise order in Input or Require Credit Approval and will provide the reason of approval failure in the response object. Franchise orders from customers that are not identified for ‘Auto Approval’ are uploaded into Merchandising in Input status. Such orders will need to be manually approved in Merchandising to be considered active.

The service allows upload of one or more franchise orders in a single service call. Each request is treated as a single unit of work and if there are no validation errors or business validation errors, all the franchise orders in the message will be created and the service will return success through the service response object. In case of one or more validation errors, the service call will be rejected, and the error response will contain the details of the validation errors.

Item Validation

  • Packs are allowed for warehouse sourced or supplier sourced franchise orders only. If the pack added is a buyer pacwith an ‘order as’ type of eaches, then the pack is exploded to its components.

  • Deposit container items cannot be added to franchise orders. When the deposit content item is added to an order, the associated container item gets added as well. Deposit item content and container items must have the same costing location.

  • Transformable orderable items can be added to an order, however, transformable sellable items are not allowed, as these are not inventoried.

  • There cannot be multiple detail record for the same source location/item/customer location combination within a franchise order.

  • Multiple order detail lines with the same source location, item and customer location combination in the franchise order is not allowed.

Source Validations
  • For supplier sourced orders, the supplier must be an active supplier and allows direct store deliveries.

  • For supplier sourced franchise order, items must be ‘Active’ at the franchise store in order to be included on the order.

  • The supplier must belong to the same org unit as the costing location.

  • For warehouse or company store sourced order, the items must not be in ‘Delete’ status at the source location and must be in either ‘Active’ or ‘Discontinued’ status at the franchise store.

  • If the source for franchise order is not specified, then the costing location for the item and franchise store will be used as the source location.

  • If the source location is a physical warehouse, then the service will use distribution rules to determine from which virtual warehouse the inventory will be pulled, similar to distribution rules used for non-franchise transfers.

Customer Location Validation
  • If item/franchise store relationship does not exist, the franchise store would be auto ranged as part of franchise order creation.

  • For source location as a store, the customer store cannot be non-stockholding.

  • When a franchise order is uploaded through this service, having a future cost record for the item/franchise store combination is not necessary. Whether or not the cost template relationship is defined for the item/franchise store, the order can still be approved based on the provided fixed cost. However, if the fixed cost is also not provided, then the order creation would fail.

Inventory Validations

The inventory validation for Franchise orders sourced from company locations is subject to the setting of the ‘Validate Availability for External Franchise Orders’ system option. If set to No, Franchise Order creation would be carried out without checking for inventory availability. If set to Yes, then the requested quantity is validated against the available inventory at location for the warehouse or store sourced franchise orders. For the warehouse sourced orders, if the requested quantity exceeds the available stock at the warehouse, then Merchandising checks whether the item is on the Store Order replenishment at the same sourcing warehouse for the franchise store. If so, then an order is placed for the sourcing warehouse from the supplier for the unavailable quantity and the sourcing for the franchise location is handled via transfers created through Merchandising replenishment process. When the source location is a store, requested inventory must be available at the location.

Order Date Validations
  • Multiple franchise orders with the same source location, item, customer location and need date combination are not allowed in Merchandising.

  • For the supplier sourced franchise orders, the not after date must be greater than supplier lead time.

  • For the warehouse sourced franchise orders, if the franchise order has a need date that is less than the order lead days in the future, the franchise order is fulfilled with the available warehouse inventory. Any remaining is fulfilled via Store Order replenishment if the item is on Store Order replenishment at the same sourcing warehouse for the franchise store.

  • For store sourced franchise orders, the need date must be within order lead days.

Item Validation
  • Packs are allowed for warehouse sourced or supplier sourced franchise orders only. If the pack added is a buyer pacwith an ‘order as’ type of eaches, then the pack is exploded to its components.

  • Deposit container items cannot be added to franchise orders. When the deposit content item is added to an order, the associated container item gets added as well. Deposit item content and container items must have the same costing location.

  • Transformable orderable items can be added to an order, however, transformable sellable items are not allowed, as these are not inventoried.

  • There cannot be multiple detail record for the same source location/item/customer location combination within a franchise order.

  • Multiple order detail lines with the same source location, item and customer location combination in the franchise order is not allowed.

Source Validations
  • For supplier sourced orders, the supplier must be an active supplier and allows direct store deliveries.

  • For supplier sourced franchise order, items must be ‘Active’ at the franchise store in order to be included on the order.

  • The supplier must belong to the same org unit as the costing location.

  • For warehouse or company store sourced order, the items must not be in ‘Delete’ status at the source location and must be in either ‘Active’ or ‘Discontinued’ status at the franchise store.

  • If the source for franchise order is not specified, then the costing location for the item and franchise store will be used as the source location.

  • If the source location is a physical warehouse, then the service will use distribution rules to determine from which virtual warehouse the inventory will be pulled, similar to distribution rules used for non-franchise transfers.

Customer Location Validation
  • If item/franchise store relationship does not exist, the franchise store would be auto ranged as part of franchise order creation.

  • For source location as a store, the customer store cannot be non-stockholding.

  • When a franchise order is uploaded through this service, having a future cost record for the item/franchise store combination is not necessary. Whether or not the cost template relationship is defined for the item/franchise store, the order can still be approved based on the provided fixed cost. However, if the fixed cost is also not provided, then the order creation would fail.

Inventory Validations

The inventory validation for Franchise orders sourced from company locations is subject to the setting of the ‘Validate Availability for External Franchise Orders’ system option. If set to No, Franchise Order creation would be carried out without checking for inventory availability. If set to Yes, then the requested quantity is validated against the available inventory at location for the warehouse or store sourced franchise orders. For the warehouse sourced orders, if the requested quantity exceeds the available stock at the warehouse, then Merchandising checks whether the item is on the Store Order replenishment at the same sourcing warehouse for the franchise store. If so, then an order is placed for the sourcing warehouse from the supplier for the unavailable quantity and the sourcing for the franchise location is handled via transfers created through Merchandising replenishment process. When the source location is a store, requested inventory must be available at the location.

Order Date Validations
  • Multiple franchise orders with the same source location, item, customer location and need date combination are not allowed in Merchandising.

  • For the supplier sourced franchise orders, the not after date must be greater than supplier lead time.

  • For the warehouse sourced franchise orders, if the franchise order has a need date that is less than the order lead days in the future, the franchise order is fulfilled with the available warehouse inventory. Any remaining is fulfilled via Store Order replenishment if the item is on Store Order replenishment at the same sourcing warehouse for the franchise store.

  • For store sourced franchise orders, the need date must be within order lead days.

Service Type

POST

ReST URL
MerchIntegrations/services/franchiseManagement/franchiseOrder/create
Input Payload Details
Table 5-223 Create - Object. See list of elements for detail
Element NameRequiredData TypeDescription
itemsYesCollection ofReferences a collection of franchise
Objectorder creation details.

Table 5-224 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
customerIdYesNumber (10)This value should be a valid customer
id.
orderReferenceNoYesString (20)This is an external reference number
that would be provided by the
franchisee for their tracking
purposes.
currencyCodeYesString (3)This feld represents the currency of
the order, which may or may not be
different from the primary currency
in the system. Valid values for this
feld are based on the currency codes
held in the CURRENCIES table.
exchangeRateNoNumber
(20,10)
This feld represents the exchange
rate between the primary currency
and the franchise order currency. If
this is not provided, it is defaulted
based on the conversion type set at
system level.
freightNoNumber
(20,4)
This feld represents any freight
charges associated to the franchise
order.

Table 5-224 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
otherChargesNoNumber
(20,4)
This feld represents other
miscellaneous charges associated to
the franchise order.
defaultBillingLocationNoNumber (10)A customer’s location where the
billing for the entire order is sent. If
blank, each location is billed.
billToAddressTypeNoString (2)This feld represents the address type
for the default billing location. This
feld is defaulted to Invoice address.
commentsNoString (2000)Free form comments associated with
the franchise order.
detailsYesCollection of
Object
Details of the orders. At least one
detail item is mandatory.

Table 5-225 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)This is the item which is on the
Franchise Order. This should be an
approved, inventory, orderable and
transaction level item. The item
should be ranged to both customer
location and source location and
must not be a consignment/
concession item.
customerLocationYesNumber (10)This feld holds a valid franchise
location number.
sourceLocationTypeNoString (2)Contains the source entity type from
where the items will originate. Valid
values are ST - Store, WH -
Warehouse, SU - Supplier. If this feld
is populated, the source location
should also be populated.
sourceLocationNoNumber (10)Contains the location id from where
this item will be sourced from. The id
will correspond to a company store,
warehouse or supplier depending on
the source type value.
requestedQuantityYesNumber
(12,4)
This feld represents the quantity of
the item on this record being ordered.
This value is always written in the
standard UOM for the item.
unitOfPurchaseNoString (3)This feld contains the unit of
purchase information. Must be the
standard unit of measure or a valid
pallet name/case name/inner name
for the item/supplier.

Table 5-225 (Cont.) Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
needDateYesdateThis date represents the initial date
by which the franchisee wants the
item on this order. The date format
should be YYYY-MM-DD. The need
date can be business date (VDATE) or
a date in future.
notAfterDateYesdateThis date represents the last date by
which the franchisee will accept the
item on this order. The date format
should be YYYY-MM-DD. This date
should be after need date.
fxedCostNoNumber
(20,4)
This is a user defned cost which will
override the customer cost for the
item on this order if populated. This
should be a positive numeric value.
This must be provided if there are no
cost templates associated with the
item.

Table 5-226 CreateError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
customerIdYesNumber (10)Input Customer Id
orderReferenceNoYesString (20)Input order reference number
itemNoString (25)Input item
customerLocationNoNumber (10)Input franchise location number
sourceLocationTypeNoString (2)Input source location type
sourceLocationYesNumber (10)Input source location id
errorsYesArray of
String
List of errors identifed during
business data processing of the
request
Sample Input Message
{
  "items": [
    {
      "customerId": 1001,
      "orderReferenceNo": "1001-A",
      "currencyCode": "USD",
      "exchangeRate": 52.5,
      "freight": 23.5,
      "otherCharges": 2.58,
      "defaultBillingLocation": 100123,
      "billToAddressType": "01",
      "comments": "Franchise order 1001-A",
      "details": [
        {
          "item": "104300083",
          "customerLocation": 100123,
          "sourceLocationType": "ST",
          "sourceLocation": 909090,
          "requestedQuantity": 9000,
          "unitOfPurchase": "EA",
          "needDate": "2001-12-31",
          "notAfterDate": "2001-12-31",
          "fixedCost": 95
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Table 5-227 CreateResponse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection ofReferences a collection of franchise
Objectorders created.

Table 5-228 CreateResponse.Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
franchiseOrderYesNumber (10)This is the unique identifer of the
franchise order that is generated by
Merchandising.
customerIdYesNumber (10)Input Customer Id
orderReferenceNoYesString (20)Input order reference number
statusYesString (1)This contains the status in which the
Franchise order was created. This can
be I - Input or A - Approved.
autoApproveErrorsNoArray of
String
This will be populated with the
reason (like customer fails credit
check) why the order could not be
approved and ended up getting
created in Input status. Using the UI,
the franchise order should be
approved after fxing the issue.
transactionsNoCollection of
Object
References a collection of transfers or
purchase orders created.

Table 5-229 Transactions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
customerLocationYesNumber (10)This feld holds a valid franchise

location number.

Table 5-229 (Cont.) Transactions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
sourceLocationYesNumber (10)Contains the location id from where
this item will be sourced from. The id
will correspond to a company store,
warehouse or supplier depending on
the source type value.
sourceLocationTypeYesString (2)Contains the source entity type from
where the items will originate. Valid
values are ST - Store, WH -
Warehouse, SU - Supplier. If this feld
is populated, the source location
should also be populated.
needDateYesdateThis date represents the initial date
by which the franchisee wants the
item on this order. The date format
should be YYYY-MM-DD. The need
date can be business date (VDATE) or
a date in future.
documentNoYesNumber (12)This contains the purchase order or
transfer number created.
documentTypeYesString (1)This contains the document type
generated. This can be P - Purchase
Order or T - Transfer.
Sample Response Message
{
  "items": [
    {
      "franchiseOrder": 30001,
      "customerId": 1001,
      "orderReferenceNo": "1001-A",
      "status": "A",
      "autoApproveErrors": [
        "null"
      ],
      "transactions": [
        {
          "customerLocation": 100123,
          "sourceLocation": 909090,
          "sourceLocationType": "ST",
          "needDate": "2001-12-31",
          "documentNo": 22145453,
          "documentType": "T"
        }
      ]
    }
  ]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Table 5-230 CreateError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
customerIdYesNumber (10)Input Customer Id
orderReferenceNoYesString (20)Input order reference number
itemNoString (25)Input item
customerLocationNoNumber (10)Input franchise location number
sourceLocationTypeNoString (2)Input source location type
sourceLocationYesNumber (10)Input source location id
errorsYesArray of
String
List of errors identifed during
business data processing of the
request
Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    {
      "customerId": 1001,
      "orderReferenceNo": "1001-A",
      "item": "104300083",
      "customerLocation": 100123,
      "sourceLocationType": "ST",
      "sourceLocation": 909090,
      "errors": [
        "Customer Location passed in franchise order is not a valid franchise
store."
      ]
    }
  ]
}

Manage Franchise Orders

Functional Area
Franchise Management
Business Overview

This service is used from an external source, usually an order management system, to create and maintain (that is, update, delete and cancel) franchise orders in Merchandising. The service allows upload of one or more franchise orders in a single service call. Each request is treated as a single unit of work and if there are no validation errors or business validation errors, all the franchise orders in the message will be created/updated/deleted and the service will return success through the service response object. In case of one or more validation errors, the service call will be rejected, and the error response will contain the details of the validation errors.

Order Creation

Franchise orders created through this service will have an order type of EDI . A linked transfer, PO or store order will be created for the approved franchise orders.

Franchise orders created through this service will be systematically approved if the customer is set up for auto-approval, provided the customer has valid credit. If the order does not meet the criteria for auto-approval, Merchandising will create the franchise order in Input or Require Credit Approval and will provide the reason of approval failure in the response object. Franchise orders from customers that are not set up for auto-approval are uploaded into Merchandising in Input status. Such orders will need to be manually approved in Merchandising to be considered active.

Item Validation
  • Packs are allowed for warehouse sourced or supplier sourced franchise orders only. If the pack added is a buyer pack with an order as type of eaches , then the pack is exploded to its components.

  • Deposit container items cannot be added to franchise orders. When the deposit content item is added to an order, the associated container item gets added as well. Deposit item content and container items must have the same costing location.

  • Transformable orderable items can be added to an order, however, transformable sellable items are not allowed, as these are not inventoried.

  • There cannot be multiple detail record for the same source location/item/customer location combination within a franchise order.

  • Multiple order detail lines with the same source location, item and customer location combination in the franchise order is not allowed.

Source Validation
  • For supplier sourced orders, the supplier must be an active supplier and allows direct store deliveries.

  • For supplier sourced franchise order, items must be Active at the franchise store in order to be included on the order.

  • The supplier must belong to the same org unit as the costing location.

  • For warehouse or company store sourced order, the items must not be in Delete status at the source location and must be in either Active or Discontinued status at the franchise store.

  • If the source for franchise order is not specified, then the costing location for the item and franchise store will be used as the source location.

  • If the source location is a physical warehouse, then the service will use distribution rules to determine from which virtual warehouse the inventory will be pulled, similar to distribution rules used for non-franchise transfers.

Customer Location Validation
  • If item/franchise store relationship does not exist, the franchise store would be auto ranged as part of franchise order creation.

  • For source location as a store, the customer store cannot be non-stockholding.

  • When a franchise order is uploaded through this service, having a future cost record for the item/franchise store combination is not necessary. Whether or not the cost template relationship is defined for the item/franchise store, the order can still be approved based on the provided fixed cost. However, if the fixed cost is also not provided, then the order creation would fail.

Inventory Validations

The inventory validation for Franchise orders sourced from company locations is subject to the setting of the Validate Availability for External Franchise Orders system option. If set to No , Franchise Order creation would be carried out without checking for inventory availability. If set to Yes , then the requested quantity is validated against the available inventory at location for the warehouse or store sourced franchise orders. For the warehouse sourced orders, if the requested quantity exceeds the available stock at the warehouse, then Merchandising checks whether the item is on the Store Order replenishment at the same sourcing warehouse for the franchise store. If so, then an order is placed for the sourcing warehouse from the supplier for the unavailable quantity and the sourcing for the franchise location is handled through transfers created through the Merchandising replenishment process. When the source location is a store, requested inventory must be available at the location.

Order Date Validations
  • Multiple franchise orders with the same source location, item, customer location and need date combination are not allowed in Merchandising.

  • For the supplier sourced franchise orders, the not after date must be greater than supplier lead time.

  • For the warehouse sourced franchise orders, if the franchise order has a need date that is less than the order lead days in the future, the franchise order is fulfilled with the available warehouse inventory. Any remaining is fulfilled through Store Order replenishment if the item is on Store Order replenishment at the same sourcing warehouse for the franchise store.

  • For store sourced franchise orders, the need date must be within order lead days.

Order Updates

For franchise orders Input status, the Update action will support the updating of a franchise order header and the adding, updating, or deleting of a franchise order detail. Header level updates includes changes such as customer order reference no, freight, and other charges as well as requested quantity, fixed cost, need date, and not after date at the detail level. Besides this, billing address details such as default bill to location, and bill to address can be updated. A new item can be added, and an existing item can be deleted using a Update header level action and a detail level Create or Delete level action respectively.

For an Approved franchise orders, only the requested quantity and fixed cost can be updated via this service. When the requested quantity is decremented, a line level cancellation reason must be provided.

Order Deletes and Cancellations

A franchise order can be deleted by sending an Update action with the status of the order set to Delete ( D ). Only orders in Input status can be deleted in Merchandising. If the user sends an Update action, with the status Delete ( D ) for a franchise order that is not in Input status, it will be treated as a cancellation and the quantity on all the order lines will be set to zero. A warning will be logged for the process to indicate to the user that the order was cancelled as opposed to being deleted.

Line level cancellations can be performed on approved franchise orders by using a header level action of Update and an order detail level action of Update with either the cancelled quantity field populated with the quantity to be cancelled; or with a header level action of Update and an order detail level action of Delete for the desired line, in which case the entire open quantity on the line will be cancelled. As part of cancellation, franchise orders in Approved or In progress status will get cancelled by providing the appropriate cancellation reason. Cancellation reasons are configured under the Franchise Order Cancel Reasons ( WFCO ) code type.

Service Type

PUT

ReST URL
MerchIntegrations/services/franchiseManagement/franchiseOrder/manage
Input Payload Details

Table 5-231 Manage - Object. See list of elements for detail

Element NameRequiredData Type
Description
collectionSizeYesNumber (4)
itemsYesCollection of
Object

Table 5-232 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionYesString (10)Contains the intended action for the
franchise order. Valid values are
CREATE, UPDATE and DELETE.
franchiseOrderNoNumber (15)Contains a unique identifer for the
franchise order.
customerIdNoNumber (10)Contains the numeric identifer of the
customer requesting the franchise
order.
orderReferenceNoNoString (20)This feld holds the ID for the franchise
order used in the external system. This
a reference number that would be
provided by the franchisee which will
help in tracking the franchise order
created in Merchandising (RMS).
currencyCodeNoString (3)Contains the currency of the franchise
order.

Table 5-232 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
exchangeRateNoNumber
(20,10)
Contains the exchange rate associated
with the franchise order.
freightNoNumber
(20,4)
Contains the freight charge associated
with the franchise order.
otherChargesNoNumber
(20,4)
Contains other miscellaneous charges
associated with the franchise order.
billToAddressTypeNoString (2)Contains the address type of the
default billing address of the billing
location.
defaultBillingLocationNoNumber (10)Contains the default billing location of
the order. It will hold the customer’s
location where the billing for the
entire order is sent.
billToIndividualshipmentLo
cation
NoString (1)This feld indicates if the franchise
order is created for billing to
individual shipment location.
orderCancelReasonNoString (6)This feld indicates the reason for
order cancellation.
commentsNoString (2000)Contains the comments associated with
the franchise order.
statusNoString (1)Contains the status of the franchise
order.
detailsNoCollection of
Object
Details of the orders. At least one detail
item is mandatory for header action
CREATE otherwise ignored.

Table 5-233 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionYesString (10)Contains the intended action for the
franchise order. Valid values are
CREATE, UPDATE and DELETE.
itemYesString (25)Contains the item on the franchise
order.
customerLocationYesNumber (10)Contains the franchise store requesting
the item.
sourceLocationTypeYesString (2)Contains the source entity type from
where the items will originate. Valid
values are ST - Store, WH - Warehouse,
SU - Supplier.
sourceLocationYesNumber (10)Contains the location Id from where
this item will be sourced from.
requestedQuantityNoNumber
(12,4)
Contains the quantity of the item on
this record being ordered. The value is
in the mentioned UOP.
unitOfPurchaseNoString (3)Contains the unit of purchase of the
requested quantity.

Table 5-233 (Cont.) Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fxedCostNoNumber
(20,4)
Contains the cost which will be
charged to the customer for the item
on the franchise order instead of using
pricing cost.
needDateNodateContains the initial date by which the
item is needed in the franchise store.
notAfterDateNodateContains the last date after which the
item may no longer be accepted for a
franchise store.
itemCancelReasonNoString (6)This feld represents the reason an
item was cancelled from the franchise
order. The cancellation of the item
record results in the reduction of the
overall order quantity.

Table 5-234 ManageError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
customerIdYesNumber (10)Input Customer Id
orderReferenceNoYesString (20)Input order reference number
itemNoString (25)Input item
customerLocationNoNumber (10)Input franchise location number
sourceLocationTypeNoString (2)Input source location type
sourceLocationYesNumber (10)Input source location id
errorsYesArray of
String
List of errors identifed during
business data processing of the request
Sample Input Message
{
  "collectionSize": 1000,
  "items": [
    {
      "action": "CREATE",
      "franchiseOrder": 584081,
      "customerId": 1001,
      "orderReferenceNo": "1001-A",
      "currencyCode": "USD",
      "exchangeRate": 52.5,
      "freight": 23.5,
      "otherCharges": 2.58,
      "billToAddressType": "01",
      "defaultBillingLocation": 100123,
      "billToIndividualshipmentLocation": "Y",
      "orderCancelReason": "NS",
      "comments": "Franchise order 1001-A",
      "status": "A",
      "details": [
        {
          "action": "CREATE",
          "item": "104300083",
          "customerLocation": 100123,
          "sourceLocationType": "ST",
          "sourceLocation": 909090,
          "requestedQuantity": 9000,
          "unitOfPurchase": "EA",
          "fixedCost": 95,
          "needDate": "2001-12-31",
          "notAfterDate": "2001-12-31",
          "itemCancelReason": "ED"
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Table 5-235 ManageResponse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
franchiseOrdersYesCollection of
Object

Table 5-236 FranchiseOrders - Object. See list of elements for detail

Element NameRequiredData TypeDescription
franchiseOrderYesNumber (10)
customerIdYesNumber (10)Input Customer Id.
orderReferenceNoYesString (20)Input order reference number.
statusYesString (1)This contains the status in which the
Franchise order was created. This can
be I - Input or A - Approved.
processedStatusYesString (20)Status of the request action.
autoApproveErrorsNoArray of
String
This will be populated with the reason
(like customer fails credit check) why
the order could not be approved and
ended up getting created in Input
status. Using the UI, the franchise
order should be approved after fxing
the issue.
transactionsNoCollection of
Object
References a collection of transfers or
purchase orders created.

Table 5-237 Transactions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
customerLocationYesNumber (10)This feld holds a valid franchise
location number.

Table 5-237 (Cont.) Transactions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
sourceLocationYesNumber (10)Contains the location id from where
this item will be sourced from. The id
will correspond to a company store,
warehouse or supplier depending on
the source type value.
sourceLocationTypeYesString (2)Contains the source entity type from
where the items will originate. Valid
values are ST - Store, WH - Warehouse,
SU - Supplier. If this feld is populated,
the source location should also be
populated.
needDateYesdateThis date represents the initial date by
which the franchisee wants the item
on this order. The date format should
be YYYY-MM-DD. The need date can be
business date (VDATE) or a date in
future.
documentNoYesNumber (12)This contains the purchase order or
transfer number created.
documentTypeYesString (1)This contains the document type
generated. This can be P - Purchase
Order or T - Transfer.
Sample Response Message
{
  "franchiseOrders": [
    {
      "franchiseOrder": 584081,
      "customerId": 1001,
      "orderReferenceNo": "1001-A",
      "status": "A",
      "processedStatus": "CREATED",
      "autoApproveErrors": [
        "null"
      ],
      "transactions": [
        {
          "customerLocation": 100123,
          "sourceLocation": 909090,
          "sourceLocationType": "ST",
          "needDate": "2001-12-31",
          "documentNo": 22145453,
          "documentType": "T"
        }
      ]
    }
  ]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service. The element businessError will be present if the payload passes schema validation but an exception is caught while processing the business logic.

Table 5-238 ManageError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
customerIdYesNumber (10)Input Customer Id
orderReferenceNoYesString (20)Input order reference number
itemNoString (25)Input item
customerLocationNoNumber (10)Input franchise location number
sourceLocationTypeNoString (2)Input source location type
sourceLocationYesNumber (10)Input source location id
errorsYesArray of
String
List of errors identifed during
business data processing of the
request
Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    {
      "customerId": 1001,
      "orderReferenceNo": "1001-A",
      "item": "104300083",
      "customerLocation": 100123,
      "sourceLocationType": "ST",
      "sourceLocation": 909090,
      "errors": [
        "Customer Location passed in franchise order is not a valid franchise
store."
      ]
    }
  ]
}

Import Management

The following services are included in this functional area:

  • Actual Landed Cost

    • Actual Landed Cost Upload Service

      • Finalize Actual Landed Cost
  • Obligations

    • Obligations Upload Services

Actual Landed Cost

The following services are included in this functional area:

  • Actual Landed Cost Upload Service

    • Finalize Actual Landed Cost

Actual Landed Cost Upload Service

The following services are included in this functional area:

  • Finalize Actual Landed Cost
Finalize Actual Landed Cost

Functional Area

Import Management - Actual Landed Cost

Business Overview

This service is used to finalize the Actual Landed Cost (ALC) for a list of purchase orders or purchase order/shipment combinations matching the provided collection of purchase order, ASN, obligation, and/or customs entry input records. The available inputs for this service are purchase order, ASN, obligation, customs entry, method of finalization and the Back Out Estimates with No Actuals flag. Success or failure of the operation will be returned as part of the response object. The value of the Allocation Shipment Level Obligations Method system option will determine if orders or order/shipment combinations are processed as follows:

  • When the Allocate Shipment Level Obligations Using system option is set to ASN ( ASN ), the service processes order/shipment combinations matching the input provided.

  • When the Allocate Shipment Level Obligations Using system option is set to Transportation ( TRNSPRT ), the service processes purchase orders matching the input provided; the service will not accept ASN as an input in this case.

This service compares the actual value from obligations or customs entries with the estimated value on the purchase order and posts records to transaction data (transaction code 20A ), update weighted average cost (WAC) and open to buy (OTB) with the difference between the estimate and the actual.

For the pending ALC to be finalized, the associated obligation or customs entry must be approved or confirmed respectively. Further, when Allocate Shipment Level Obligations Using is set to Transportation , orders cannot be finalized until the purchase order has been closed. When the Allocate Shipment Level Obligations Using is set to ASN, order/shipments must be received before the ALC can be finalized, and for ALC from Purchase Order Header or Purchase Order/Item level obligations, the associated purchase order must be closed before the associated ALC can be finalized.

When the provided method of finalization is No Finalization , the pending ALC records are updated to have a status of No Finalization , which means that the actual values are ignored and the estimated values that were posted at the time of receipt will be retained. Subsequent

finalizations of the same purchase orders or purchase order/shipments will only attempt to finalize new ALC records in Pending status; the records previously marked as No Finalization or Processed will not be processed during future finalizations.

Service Type

PUT

ReST URL
MerchIntegrations/services/importManagement/actualLandedCost/finalize

Input Payload Details

Table 5-239 Finalize - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
Collection of the input details for
which the ALC Finalization needs to be
done.

Table 5-240 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNoNoNumber (12)The unique identifer for the Purchase
Order.
asnNoString (30)The ASN linked to the Shipment.
obligationNoNumber (10)The unique identifer for the
Obligation.
customsEntryNoNoString (40)The Customs Entry Number.
methodOfFinalizationYesString (6)The method of ALC Finalization to be
used.
backOutEstimatesWithNoAct
ualsInd
NoString (1)Indicates whether the Order Estimates,
which are not having Actuals, need to
be Backed out or not.

Table 5-241 FinalizeError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
alcFinalizeErrorYesCollection of
Object

Table 5-242 AlcFinalizeError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNoYesNumber (12)
asnYesString (30)
obligationYesNumber (10)
customsEntryNoYesString (40)

Table 5-242 (Cont.) AlcFinalizeError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
errorMessagesYesArray ofList of errors identifed during
Stringbusiness data processing of the
request.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "orderNo": 100000,
      "asn": "ASN_1234",
      "obligation": 56789,
      "customsEntryNo": "CE_1234",
      "methodOfFinalization": "W",
      "backOutEstimatesWithNoActualsInd": "N"
    }
  ]
}

Response Code: 200 (Success)

Table 5-243 FinalizeResponse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection of
Object

Table 5-244 FinalizeResponse.Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNoYesNumber (12)
asnYesString (30)
obligationYesNumber (10)
customsEntryNoYesString (40)
alcStatusYesString (250)The status of the ALC records, after the
successful completion of the ALC
Finalization.
Sample Response Message
{
  "items": [
    {
      "orderNo": 120711,
      "asn": "String",
      "obligation": 389535,
      "customsEntryNo": "String",
      "alcStatus": "String"
    }
  ]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors is present when the input payload or input parameters do not match the schema definition of this service. The element businessError is present if the payload passes schema validation but an exception is caught while processing the business logic.

Table 5-245 FinalizeError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
alcFinalizeErrorYesCollection of
Object

Table 5-246 AlcFinalizeError - Object. See list of elements for detail

Element Name
Required
Data Type
Description
orderNo
Yes
Number (12)
asn
Yes
String (30)
obligation
Yes
Number (10)
customsEntryNo
Yes
String (40)
errorMessages
Yes
Array of
String
Sample Error Message
List of errors identifed during
business data processing of the
request.
{
"status": "ERROR",
"message": "Error found in validation of inpu
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
],
"businessError": [
{
"alcFinalizeError": [
{
"orderNo": 120711,
"asn": "String",
"obligation": 389535,
"customsEntryNo": "String",
"errorMessages": [
"String"
]
t payload",
        }
      ]
    }
  ]
}

Obligations

The following services are included in this functional area:

  • Obligations Upload Services

Obligations Upload Services

This section describes the Obligations Upload Services.

Function Area

Import Management - Obligations

Business Overview

The primary role of these services is to support requests from trading partners or suppliers for bulk uploads of obligations in Merchandising.

Create Obligation
Business Overview

This service creates obligations by calling the SVCPROV_OBLIGATION package, then calling the core obligation package to validate and insert data to the Merchandising tables.

This service creates obligations with required fields. At least one component is needed to create a successful obligation. If the obligation level is Purchase Order Header ( PO ) or Purchase Order/Items ( POIT ) then component locations can be added if desired. Allocation to Actual Landed Cost (ALC) will be performed after obligation creation.

When creating a new Purchase Order Header ( PO ) or Purchase Order/Item ( POIT ) level obligation with a provided status of Approved, if the purchase order has a single location or if the component/location level details are provided on the obligation, you are able to specify whether the corresponding non-merchandise invoice should be generated and sent to Invoice Matching (REIMCS) upon obligation approval, or if the system should wait until the purchase order is closed. To have the system generate the non-merchandise invoice upon obligation approval, the Create Non-Merchandise Invoice upon Obligation Approval flag ( createInvoiceOnObligationApproval ) should be passed in as Yes ( Y ); otherwise you can send a value of No ( N ). If no value is provided for the flag, the system will assume a value of No ( N ). If the purchase order has multiple locations, the non-merchandise invoice will not be generated or sent to Invoice Matching until the purchase order is closed. The reason for waiting until closure in this case is because this allows the system to know the final receipt quantities in order to determine the location allocation of the expenses on the obligation.

When creating new obligations of any level besides Purchase Order Header or Purchase Order/Item, non-merchandise invoices will be generated and sent to Invoice Matching (REIMCS) upon obligation approval.

Purchase Order and Purchase Order/Item level obligations are intended to be used for a full purchase order, meaning the system expects that a given expense component will only appear

on one obligation for a given purchase order or for a given purchase order/item. For example, if you are being charged a freight expense for each of two shipments for a single purchase order. To use a Purchase Order Header level obligation, you would need to total the freight expense for the two shipments and enter the total value on a single Purchase Order Header level obligation with the total quantity on the order. You cannot create two separate Purchase Order Header level obligations for the same Freight expense component for a partial quantity. If you want to create separate obligations for a subset of the total ordered quantity, you need to use one of the transportation or ASN level obligations.

Service Type

Post

ReST URL

/ObligationUpload/createObligation

Input Parameters

RestObligationRecRDO

Parameter NameData Type
obligationKeyBigDecimal
obligationLevelString
keyValue1String
keyValue2String
keyValue3String
keyValue4String
keyValue5String
keyValue6String
statusString
partnerTypeString
partnerIdString
supplierSiteString
invoiceString
invoiceDateTimestamp
qtyBigDecimal
qtyUomString
currencyString
exchangeRateBigDecimal
checkAuthNoString
paidAmtBigDecimal
paidDateTimestamp
commentsString
obligationCompTblList

RestObligationCompRecRDO

Parameter NameData Type
compIdString
allocateToAlcString
allocationTypeString
allocationBasisUomString
amtBigDecimal
rateBigDecimal
perCountBigDecimal
perCountUomString
obligationCompLocTblList
RestObligationCompLocRecRDO
Parameter NameData Type
actionString
locTypeString
locIdBigDecimal
qtyBigDecimal
amtBigDecimal
JSON Structure

invoiceDate and paidDate will take input in strings the ‘YYYY-MM-DD’ format that will be converted to Timestamp format and inserted into tables.

[{
      "obligationKey": null,
      "obligationLevel":null ,
      "keyValue1":null,
      "keyValue2":null,
      "keyValue3":null,
      "keyValue4":null,
      "keyValue5":null,
      "keyValue6":null,
      "status":null,
      "partnerType":null,
      "partnerId":null,
      "supplierSite":null,
      "invoice":null,
      "invoiceDate":null,
      "qty":null,
      "qtyUom":null,
      "exchangeRate":null,
      "currency":null,
      "paymentMethod":null,
      "checkAuthNo":null,
      "paidAmt":null,
      "paidDate":null,
      "comments":null,
      "obligationCompTbl" : [{
            "compId":null,
            "allocateToAlc":null,
            "allocationType":null,
            "allocationBasisUom": null,
            "amt":null,
            "rate":null,
            "perCount":null,
            "perCountUom":null,
            "obligationCompLocTbl":[{
                  "action":null,
                  "locType":null,
                  "locId": null,
                  "qty":null,
                  "amt":null}]
      }]
}]
Output

RestObligationStatusRecRDO

Parameter NameData Type
successObligationTblList
successObligationCountBigDecimal
failObligationTblList
failObligationCountBigDecimal

RestObligationSuccessRecRDO

Parameter NameData Type
obligationKeyBigDecimal
statusString
invoiceString

RestObligationFailRecRDO

Parameter NameData Type
obligationKeyBigDecimal
statusString
invoiceString
errorMessageString

The output will contain the status of the request including validation error, if any.

The service will insert data into the Obligation ( obligation ), Obligation Component ( obligation_comp ) and Obligation Component Location ( obligation_comp_loc ) tables based on obligation levels. Obligation amounts will be allocated to each order/item/location represented on the obligation and will be recorded in the Actual Landed Cost (ALC) tables. Non-merchandise invoices generated for approved obligations will be inserted into invoice staging tables to be loaded into Invoice Matching.

For Success:

{
  • "successObligationTbl": [
      {
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "successObligationCount": null,
   "failObligationTbl": [],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
       "linkRDO": []
   }
}
For Failure:
{
   "successObligationTbl": [],
   "successObligationCount": null,
   "failObligationTbl": [
      {
         "errorMessage": null,
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
OBLIGATIONNoYesNoNo
OBLIGATION_COMPNoYesNoNo
OBLIGATION_COMP_LOCNoYesNoNo
ORDHEADYesNoNoNo
ORDSKUYesNoNoNo
ORDLOCYesNoNoNo
TRANSPORTATIONYesNoNoNo
SHIPMENTYesNoNoNo
SHIPSKUYesNoNoNo
V_PACKSKU_QTYYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
ITEM_SUPP_COUNTRYYesNoNoNo
ORDLOC_EXPYesNoNoNo
CE_HEADYesNoNoNo
ELC_COMPYesNoNoNo
RTM_UNIT_OPTIONSYesNoNoNo
ALC_HEADYesYesYesNo
ALC_COMP_LOCYesYesYesNo
INVC_HEADNoYesNoNo
INVC_NON_MERCHNoYesNoNo
INVC_XREFNoYesNoNo
Create Obligation Component
Business Overview

This service creates obligation components for existing obligations in Pending status by calling the SVCPROV_OBLIGATION package, then calling the core obligation package to validate and insert data to the Merchandising tables.

This service accepts an obligation key, a supplier/invoice combination, or a partner type/ partner/invoice combination to identify the existing obligation. Expense component details can be added.. Allocation to Actual Landed Cost (ALC) will be done after component creation.

Service Type

Post

ReST URL

/ObligationUpload/createObligationComp

Input Parameters

RestObligationRecRDO

Parameter NameData Type
obligationKeyBigDecimal
obligationLevelString
keyValue1String
keyValue2String
keyValue3String
keyValue4String
keyValue5String
keyValue6String
StatusString
partnerTypeString
partnerIdString
Parameter NameData Type
supplierSiteString
invoiceString
invoiceDateTimestamp
QtyBigDecimal
qtyUomString
CurrencyString
exchangeRateBigDecimal
checkAuthNoString
paidAmtBigDecimal
paidDateTimestamp
CommentsString
obligationCompTblList

RestObligationCompRecRDO

Parameter NameData Type
compIdString
allocateToAlcString
allocationTypeString
allocationBasisUomString
AmtBigDecimal
RateBigDecimal
perCountBigDecimal
perCountUomString
obligationCompLocTblList

RestObligationCompLocRecRDO

Parameter NameData Type
ActionString
locTypeString
locIdBigDecimal
QtyBigDecimal
AmtBigDecimal

JSON Structure: The same RDO ‘RestObligationRecRDO’ will be used for createObligationComp, but only the below parameters will be considered for the request. The rest of the parameters will be ignored.

[{
      "obligationKey": null,
      "partnerType":null,
      "partnerId":null,
      "supplierSite":null,
      "invoice":null,
      "obligationCompTbl" : [
         {
            "compId":null,
            "allocateToAlc":null,
            "allocationType":null,
            "allocationBasisUom": null,
            "amt":null,
            "rate":null,
            "perCount":null,
            "perCountUom":null,
            "obligationCompLocTbl":[
               {
                  "action":null,
                  "locType":null,
                  "locId": null,
                  "qty":null,
                  "amt":null}]
      }]
}]
Output

RestObligationStatusRecRDO

Parameter NameData Type
successObligationTblList
successObligationCountBigDecimal
failObligationTblList
failObligationCountBigDecimal

RestObligationSuccessRecRDO

Parameter NameData Type
obligationKeyBigDecimal
statusString
invoiceString

RestObligationFailRecRDO

Parameter NameData Type
obligationKeyBigDecimal
statusString
invoiceString
errorMessageString

The output will contain the status of the request including validation error, if any.

The service will insert data into the Obligation Component ( obligation_comp ) table, and for Purchase Order Header or Purchase Order/Item obligations with location details, into the Obligation Component Location ( obligation_comp_loc ) table. Obligation amounts will be allocated to each order/item/location represented on the obligation and will be recorded in the Actual Landed Cost (ALC) tables.

For Success:
{
   "successObligationTbl": [
      {
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "successObligationCount": null,
   "failObligationTbl": [],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}
For Failure:
{
   "successObligationTbl": [],
   "successObligationCount": null,
   "failObligationTbl": [
      {
         "errorMessage": null,
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
OBLIGATIONYesNoNoNo
OBLIGATION_COMPYesYesNoNo
OBLIGATION_COMP_LOCYesYesNoNo
ORDHEADYesNoNoNo
ORDSKUYesNoNoNo
ORDLOCYesNoNoNo
SHIPMENTYesNoNoNo
SHIPSKUYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
V_PACKSKU_QTYYesNoNoNo
ITEM_SUPP_COUNTRYYesNoNoNo
ORDLOC_EXPYesNoNoNo
ELC_COMPYesNoNoNo
ALC_HEADYesYesYesNo
ALC_COMP_LOCYesYesYesNo

Create Obligation Component Location

Business Overview

This service creates obligation component locations for Purchase Order Header or Purchase Order/Item level obligations by calling the SVCPROV_OBLIGATION package and then calling the core obligation package to validate and insert data into the Merchandising tables.

For Purchase Order Header ( PO ) and Purchase Order/Item ( POIT ) obligation levels, a locationlevel breakdown of the obligation component amounts can be added. This service accepts an obligation key, supplier/invoice or partner type/partner/invoice combination to identify the existing obligation. Allocation to Actual Landed Cost (ALC) will be done done after successful location creation.

Service Type

Post

ReST URL

/ObligationUpload/createObligationCompLoc

Input Parameters

RestObligationRecRDO

Parameter NameData Type
obligationKeyBigDecimal
obligationLevelString
keyValue1String
keyValue2String
keyValue3String
keyValue4String
keyValue5String
keyValue6String
statusString
partnerTypeString
partnerIdString
supplierSiteString
invoiceString
Parameter NameData Type
invoiceDateTimestamp
qtyBigDecimal
qtyUomString
currencyString
exchangeRateBigDecimal
checkAuthNoString
paidAmtBigDecimal
paidDateTimestamp
commentsString
obligationCompTblList

RestObligationCompRecRDO

Parameter NameData Type
compIdString
allocateToAlcString
allocationTypeString
allocationBasisUomString
amtBigDecimal
rateBigDecimal
perCountBigDecimal
perCountUomString
obligationCompLocTblList

RestObligationCompLocRecRDO

Parameter NameData Type
actionString
locTypeString
locIdBigDecimal
qtyBigDecimal
amtBigDecimal

JSON Structure: Same RDO ‘RestObligationRecRDO’ will be used for createObligationComp, but only the below parameters will be considered for the request. The rest of the parameters will be ignored.

[{
      "obligationKey": null,
      "partnerType":null,
      "partnerId":null,
      "supplierSite":null,
      "invoice":null,
      "obligationCompTbl" : [{
            "compId":null,
            "obligationCompLocTbl":[{
                  "action":null,
                  "locType":null,
                  "locId": null,
                  "qty":null,
                  "amt":null}]
      }]
}]
Output

RestObligationStatusRecRDO

Parameter NameData Type
successObligationTblList
successObligationCountBigDecimal
failObligationTblList
failObligationCountBigDecimal
RestObligationSuccessRecRDO
Parameter NameData Type
obligationKeyBigDecimal
statusString
invoiceString
RestObligationFailRecRDO
Parameter NameData Type
obligationKeyBigDecimal
statusString
invoiceString
errorMessageString

The output will contain the status of the request, including validation errors, if any. For Success:

{
   "successObligationTbl": [
      {
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "successObligationCount": null,
   "failObligationTbl": [],
   "failObligationCount": null,
   "links": [],

"hyperMediaContent": { "linkRDO": [] } } For Failure: { "successObligationTbl": [], "successObligationCount": null, "failObligationTbl": [ { "errorMessage": null, "status": null, "invoice": null, "obligationKey": null, "links": [], "hyperMediaContent": { "linkRDO": [] } } ], "failObligationCount": null, "links": [], "hyperMediaContent": { "linkRDO": [] } }

Table Impact
TABLESELECTINSERTUPDATEDELETE
OBLIGATIONYesNoNoNo
OBLIGATION_COMPYesNoNoNo
OBLIGATION_COMP_LOCYesYesNoNo
ORDHEADYesNoNoNo
ORDSKUYesNoNoNo
ORDLOCYesNoNoNo
SHIPMENTYesNoNoNo
SHIPSKUYesNoNoNo
V_PACKSKU_QTYYesNoNoNo
ITEM_SUPP_COUNTRYYesNoNoNo
ORDLOC_EXPYesNoNoNo
ALC_HEADYesYesYesNo
ALC_COMP_LOCYesYesYesNo
Modify Obligation
Business Overview

This service updates obligation header record by calling the SVCPROV_OBLIGATION package and then calling the core obligation package to validate and update data to the Obligation table.

This service accepts an obligation key, a supplier/invoice combination or a partner type/partner/ invoice combination to identify the existing obligation.

When approving an existing Purchase Order Header ( PO ) or Purchase Order/Item ( POIT ) level obligation, if purchase order has a single location or if component/location level details are provided on the obligation, you are able to specify whether the corresponding nonmerchandise invoice should be generated and sent to Invoice Matching (REIMCS) upon obligation approval, or if the system should wait until the purchase order is closed. To have the system generate the non-merchandise invoice upon obligation approval, the Create NonMerchandise Invoice upon Obligation Approval flag ( createInvoiceOnObligationApproval ) should be passed in as Yes ( Y ), otherwise you can send a value of No ( N ). If no value is provided for the flag, the system will assume a value of No ( N ). If the purchase order has multiple locations, the non-merchandise invoice will not be generated or sent to Invoice Matching until the purchase order is closed. The reason for waiting until closure in this case is because this allows the system to know the final receipt quantities in order to determine the location allocation of the expenses on the obligation.

When approving obligations of any level besides Purchase Order Header or Purchase Order/ Item, non-merchandise invoices will be generated and sent to Invoice Matching (REIMCS) upon obligation approval.

When modifying and/or approving a pending Purchase Order Header (PO) or Purchase Order/ Item ( POIT ) level obligation, if purchase order has a single location or if component/location level details are provided on the obligation, you are able to specify whether the corresponding non-merchandise invoice should be generated and sent to Invoice Matching (REIMCS) upon obligation approval, or if the system should wait until the purchase order is closed. To have the system generate the non-merchandise invoice upon obligation approval, the Create NonMerchandise Invoice upon Obligation Approval flag ( createInvoiceOnObligationApproval ) should be passed in as Yes ( Y ), otherwise you can send a value of No ( N ). If no value is provided for the flag, the system will assume a value of No ( N ). If the purchase order has multiple locations, the non-merchandise invoice will not be generated or sent to Invoice Matching until the purchase order is closed. The reason for waiting until closure in this case is because this allows the system to know the final receipt quantities in order to determine the location allocation of the expenses on the obligation.

When approving existing obligations of any level besides Purchase Order Header or Purchase Order/Item, non-merchandise invoices will be generated and sent to Invoice Matching (REIMCS) upon obligation approval.

The following fields can be updated when the obligation is in Pending status.

  • Status

  • Partner Type

  • Partner ID

  • Supplier Site

  • Invoice

  • Invoice Date

  • Quantity

  • Quantity UOM

  • Currency

  • Exchange Rate

The below fields, which are not mandatory, can be updated in pending as well as approved status.

  • Payment Method

  • Check Authorization No.

  • Amount Paid

  • Paid Date

  • Comments

Service Type

Post

ReST URL

/ObligationUpload/modifyObligation

RestObligationRecRDO

Parameter NameData Type
obligationKeyBigDecimal
obligationLevelString
keyValue1String
keyValue2String
keyValue3String
keyValue4String
keyValue5String
keyValue6String
statusString
partnerTypeString
partnerIdString
supplierSiteString
invoiceString
invoiceDateTimestamp
qtyBigDecimal
qtyUomString
currencyString
exchangeRateBigDecimal
checkAuthNoString
paidAmtBigDecimal
paidDateTimestamp
commentsString
obligationCompTblList
RestObligationCompRecRDO

Parameter Name Data Type compId String allocateToAlc String

Parameter NameData Type
allocationTypeString
allocationBasisUomString
amtBigDecimal
rateBigDecimal
perCountBigDecimal
perCountUomString
obligationCompLocTblList

RestObligationCompLocRecRDO

Parameter NameData Type
actionString
locTypeString
locIdBigDecimal
qtyBigDecimal
amtBigDecimal

JSON Structure: Same RDO ‘RestObligationRecRDO’ will be used for modifyObligation but only the below parameters will be considered for the request. The rest of the parameters will be ignored.

invoiceDate and paidDate will take input in a string with the ‘YYYY-MM-DD’ format, which will be converted to Timestamp format and insert into the tables.

[{
      "obligationKey": null,
      "status":null,
      "partnerType":null,
      "partnerId":null,
      "supplierSite":null,
      "invoice":null,
      "invoiceDate":null,
      "qty":null,
      "qtyUom":null,
      "exchangeRate":null,
      "currency":null,
      "paymentMethod":null,
      "checkAuthNo":null,
      "paidAmt":null,
      "paidDate":null,
      "comments":null
}]
Output

RestObligationStatusRecRDO

Parameter NameData Type
successObligationTblList
successObligationCountBigDecimal
Parameter NameData Type
failObligationTblList
failObligationCountBigDecimal
RestObligationSuccessRecRDO
Parameter NameData Type
obligationKeyBigDecimal
statusString
invoiceString

RestObligationFailRecRDO

Parameter NameData Type
obligationKeyBigDecimal
statusString
invoiceString
errorMessageString

The output will contain the status of the request, including validation errors, if any.

NULL values will be ignored for mandatory fields. Non-mandatory fields can be updated to NULL.

For Success:

{
   "successObligationTbl": [
      {
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "successObligationCount": null,
   "failObligationTbl": [],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}

For Failure:

{
   "successObligationTbl": [],
   "successObligationCount": null,
   "failObligationTbl": [
      {
         "errorMessage": null,
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
OBLIGATIONYesNoNoNo
OBLIGATION_COMPYesNoNoNo
OBLIGATION_COMP_LOCYesNoNoNo
ORDHEADYesNoNoNo
ORDSKUYesNoNoNo
ORDLOCYesNoNoNo
SHIPMENTYesNoNoNo
SHIPSKUYesNoNoNo
V_PACKSKU_QTYYesNoNoNo
ITEM_SUPP_COUNTRYYesNoNoNo
ORDLOC_EXPYesNoNoNo
ALC_HEADYesYesYesNo
ALC_COMP_LOCYesYesYesNo
INVC_HEADNoYesNoNo
INVC_NON_MERCHNoYesNoNo
INVC_XREFNoYesNoNo
Modify Obligation Comp
Business Overview

This service updates existing obligation component records which are in pending status by calling the SVCPROV_OBLIGATION package and then calling the core obligation package to validate and update data in the obligation_comp table.

This service accepts an obligation key, a supplier/invoice combination, or a partner type/ partner/invoice combination to identify the existing obligation. The user can modify component level fields on pending obligations. Reallocation to ALC will be done after update.

Service Type

Post

ReST URL

/ObligationUpload/modifyObligationComp

Input Parameters

RestObligationRecRDO

Parameter NameData Type
obligationKeyBigDecimal
obligationLevelString
keyValue1String
keyValue2String
keyValue3String
keyValue4String
keyValue5String
keyValue6String
statusString
partnerTypeString
partnerIdString
supplierSiteString
invoiceString
invoiceDateTimestamp
qtyBigDecimal
qtyUomString
currencyString
exchangeRateBigDecimal
checkAuthNoString
paidAmtBigDecimal
paidDateTimestamp
commentsString
obligationCompTblList

RestObligationCompRecRDO

Parameter NameData Type
compIdString
allocateToAlcString
allocationTypeString
allocationBasisUomString
amtBigDecimal
rateBigDecimal
perCountBigDecimal
perCountUomString
Parameter NameData Type
obligationCompLocTblList
RestObligationCompLocRecRDO
Parameter NameData Type
actionString
locTypeString
locIdBigDecimal
qtyBigDecimal
amtBigDecimal

JSON Structure: The same RDO ‘RestObligationRecRDO’ will be used for modifyObligationComp, but only the below parameters will be considered for the request. The rest of the parameters will be ignored.

[{
      "obligationKey": null,
      "partnerType":null,
      "partnerId":null,
      "supplierSite":null,
      "invoice":null,
      "obligationCompTbl" : [{"compId":null,
            "allocateToAlc":null,
            "allocationType":null,
            "allocationBasisUom": null,
            "amt":null,
            "rate":null,
            "perCount":null,
            "perCountUom":null,
      }]
}]
Output

RestObligationStatusRecRDO

Parameter NameData Type
successObligationTblList
successObligationCountBigDecimal
failObligationTblList
failObligationCountBigDecimal
RestObligationSuccessRecRDO
Parameter NameData Type
obligationKeyBigDecimal
statusString
invoiceString
RestObligationFailRecRDO
Parameter NameData Type
obligationKeyBigDecimal
statusString
invoiceString
errorMessageString

The output will contain the status of the request, including validation errors, if any. For Success:

{
   "successObligationTbl": [
      {
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "successObligationCount": null,
   "failObligationTbl": [],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}

For Failure:

{
   "successObligationTbl": [],
   "successObligationCount": null,
   "failObligationTbl": [
      {
         "errorMessage": null,
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
OBLIGATIONYesNoNoNo
OBLIGATION_COMPYesNoNoNo
OBLIGATION_COMP_LOCYesNoNoNo
ORDHEADYesNoNoNo
ORDSKUYesNoNoNo
ORDLOCYesNoNoNo
SHIPMENTYesNoNoNo
SHIPSKUYesNoNoNo
V_PACKSKU_QTYYesNoNoNo
ITEM_SUPP_COUNTRYYesNoNoNo
ORDLOC_EXPYesNoNoNo
ALC_HEADYesYesYesNo
ALC_COMP_LOCYesYesYesNo
Modify Obligation Component Location
Business Overview

This service updates existing obligation component records which are in pending status by calling the SVCPROV_OBLIGATION package and then calling the core obligation package to validate and update data in the obligation_comp table.

This service accepts an obligation key, a supplier/invoice combination, or a partner type/ partner/invoice combination to identify the obligation. Enter an expense component for which you want to modify the location. Reallocation to ALC will be done after update.

Service Type

Post

ReST URL

/ObligationUpload/modifyObligationCompLoc

Input Parameters

RestObligationRecRDO

Parameter NameData Type
obligationKeyBigDecimal
obligationLevelString
keyValue1String
keyValue2String
keyValue3String
keyValue4String
Parameter NameData Type
keyValue5String
keyValue6String
statusString
partnerTypeString
partnerIdString
supplierSiteString
invoiceString
invoiceDateTimestamp
qtyBigDecimal
qtyUomString
currencyString
exchangeRateBigDecimal
checkAuthNoString
paidAmtBigDecimal
paidDateTimestamp
commentsString
obligationCompTblList
RestObligationCompRecRDO
Parameter NameData Type
compIdString
allocateToAlcString
allocationTypeString
allocationBasisUomString
amtBigDecimal
rateBigDecimal
perCountBigDecimal
perCountUomString
obligationCompLocTblList
RestObligationCompLocRecRDO
Parameter NameData Type
actionString
locTypeString
locIdBigDecimal
qtyBigDecimal
amtBigDecimal

JSON Structure: The same RDO ‘RestObligationRecRDO’ will be used for modifyObligationCompLoc but only the below parameters will be considered for the request. The rest of the parameters will be ignored.

[{
      "obligationKey": null,
      "partnerType":null,
      "partnerId":null,
      "supplierSite":null,
      "invoice":null,
      "obligationCompTbl" : [{
            "compId":null,
            "obligationCompLocTbl":[{
                  "action":null,
                  "locType":null,
                  "locId": null,
                  "qty":null,
                  "amt":null}]
      }]
}]
Output

RestObligationStatusRecRDO

Parameter NameData Type
successObligationTblList
successObligationCountBigDecimal
failObligationTblList
failObligationCountBigDecimal

RestObligationSuccessRecRDO

Parameter NameData Type
obligationKeyBigDecimal
statusString
invoiceString

RestObligationFailRecRDO

Parameter NameData Type
obligationKeyBigDecimal
statusString
invoiceString
errorMessageString

The output will contain the status of the request, including validation errors, if any.

The action field is mandatory here. Valid value for this are MOD/DEL. MOD is to update a location and DEL to delete a location.

For Success:

{
   "successObligationTbl": [
      {
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "successObligationCount": null,
   "failObligationTbl": [],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}

For Failure:

{
   "successObligationTbl": [],
   "successObligationCount": null,
   "failObligationTbl": [
      {
         "errorMessage": null,
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
OBLIGATIONYesNoNoNo
OBLIGATION_COMPYesNoYesNo
OBLIGATION_COMP_LOCYesNoYesNo
ORDHEADYesNoNoNo
ORDSKUYesNoNoNo
ORDLOCYesNoNoNo
SHIPMENTYesNoNoNo
SHIPSKUYesNoNoNo
V_PACKSKU_QTYYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
ITEM_SUPP_COUNTRYYesNoNoNo
ORDLOC_EXPYesNoNoNo
ALC_HEADYesNoYesNo
ALC_COMP_LOCYesNoYesNo
Delete Obligation
Business Overview

This service deletes existing obligation records with pending status by calling the SVCPROV_OBLIGATION package and then calling the core obligation package to validate and delete entire obligation records from Merchandising tables.

This service accepts an obligation key, a supplier/invoice combination, or a partner type/ partner/invoice combination to identify the obligation. This service will delete the entire obligation record.

Service Type

Post

ReST URL

/ObligationUpload/deleteObligation

Input Parameters

RestObligationRecRDO

Parameter NameData Type
obligationKeyBigDecimal
obligationLevelString
keyValue1String
keyValue2String
keyValue3String
keyValue4String
keyValue5String
keyValue6String
statusString
partnerTypeString
partnerIdString
supplierSiteString
invoiceString
invoiceDateTimestamp
qtyBigDecimal
qtyUomString
currencyString
Parameter NameData Type
exchangeRateBigDecimal
checkAuthNoString
paidAmtBigDecimal
paidDateTimestamp
commentsString
obligationCompTblList

RestObligationCompRecRDO

Parameter NameData Type
compIdString
allocateToAlcString
allocationTypeString
allocationBasisUomString
amtBigDecimal
rateBigDecimal
perCountBigDecimal
perCountUomString
obligationCompLocTblList

RestObligationCompLocRecRDO

Parameter NameData Type
actionString
locTypeString
locIdBigDecimal
qtyBigDecimal
amtBigDecimal

JSON Structure: The same RDO ‘RestObligationRecRDO’ will be used for deleteObligation but only the below parameters will be considered for the request. The rest of the parameters will be ignored.

[{
      "obligationKey": null,
      "partnerType":null,
      "partnerId":null,
      "supplierSite":null,
      "invoice":null }]
Output

RestObligationStatusRecRDO

Parameter NameData Type
successObligationTblList
Parameter NameData Type
successObligationCountBigDecimal
failObligationTblList
failObligationCountBigDecimal

RestObligationSuccessRecRDO

Parameter NameData Type
obligationKeyBigDecimal
statusString
invoiceString

RestObligationFailRecRDO

Parameter NameData Type
obligationKeyBigDecimal
statusString
invoiceString
errorMessageString

The output will contain the status of the request, including validation errors, if any. For Success:

{
   "successObligationTbl": [
      {
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "successObligationCount": null,
   "failObligationTbl": [],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}

For Failure:

{
   "successObligationTbl": [],
   "successObligationCount": null,
   "failObligationTbl": [
      {
         "errorMessage": null,
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
OBLIGATIONYesNoNoYes
OBLIGATION_COMPYesNoNoYes
OBLIGATION_COMP_LOCYesNoNoYes
ALC_HEADYesNoNoYes
ALC_COMP_LOCYesNoNoYes
Delete Obligation Component
Business Overview

This service deletes obligation components for existing obligations by calling the SVCPROV_OBLIGATION package and then calling the core obligation package to validate and delete data from Merchandising tables.

This service accepts an obligation key, a supplier/invoice combination or a partner type/partner/ invoice combination to identify the obligation. Pass the expense component to be deleted. This service will delete the component if the obligation is in Pending status and the component is not the only component on the obligation. If locations are attached to the components then that will be deleted as well. Reallocation to ALC will be done after deletion.

Service Type

Post

ReST URL

/ObligationUpload/deleteObligationComp

Input Parameters

RestObligationRecRDO

Parameter NameData Type
obligationKeyBigDecimal
obligationLevelString
keyValue1String
Parameter NameData Type
keyValue2String
keyValue3String
keyValue4String
keyValue5String
keyValue6String
statusString
partnerTypeString
partnerIdString
supplierSiteString
invoiceString
invoiceDateTimestamp
qtyBigDecimal
qtyUomString
currencyString
exchangeRateBigDecimal
checkAuthNoString
paidAmtBigDecimal
paidDateTimestamp
commentsString
obligationCompTblList

RestObligationCompRecRDO

Parameter NameData Type
compIdString
allocateToAlcString
allocationTypeString
allocationBasisUomString
amtBigDecimal
rateBigDecimal
perCountBigDecimal
perCountUomString
obligationCompLocTblList

RestObligationCompLocRecRDO

Parameter NameData Type
actionString
locTypeString
locIdBigDecimal
qtyBigDecimal
Parameter NameData Type
amtBigDecimal

JSON Structure: The same RDO ‘RestObligationRecRDO’ will be used for deleteObligationComp, but only the below parameters will be considered for the request. The rest of the parameters will be ignored.

[{
      "obligationKey": null,
      "partnerType":null,
      "partnerId":null,
      "supplierSite":null,
      "invoice":null,
      "obligationCompTbl" : [{
            "compId":null
      }]
}]
Output

RestObligationStatusRecRDO

Parameter NameData Type
successObligationTblList
successObligationCountBigDecimal
failObligationTblList
failObligationCountBigDecimal

RestObligationSuccessRecRDO

Parameter NameData Type
obligationKeyBigDecimal
statusString
invoiceString

RestObligationFailRecRDO

Parameter NameData Type
obligationKeyBigDecimal
statusString
invoiceString
errorMessageString

The output will contain the status of the request, including validation errors, if any.

For Success:

{
   "successObligationTbl": [
      {
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "successObligationCount": null,
   "failObligationTbl": [],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}

For Failure: { "successObligationTbl": [], "successObligationCount": null, "failObligationTbl": [ { "errorMessage": null, "status": null, "invoice": null, "obligationKey": null, "links": [], "hyperMediaContent": { "linkRDO": [] } } ], "failObligationCount": null, "links": [], "hyperMediaContent": { "linkRDO": [] } }

Table Impact
TABLESELECTINSERTUPDATEDELETE
OBLIGATIONYesNoNoYes
OBLIGATION_COMPYesNoNoYes
OBLIGATION_COMP_LOCYesNoNoYes
ORDHEADYesNoNoYes
ORDSKUYesNoNoYes
ORDLOCYesNoNoYes
SHIPMENTYesNoNoYes
SHIPSKUYesNoNoYes
V_PACKSKU_QTYYesNoNoYes
ITEM_SUPP_COUNTRYYesNoNoYes
ORDLOC_EXPYesNoNoYes
ALC_HEADYesNoYesYes
TABLESELECTINSERTUPDATEDELETE
ALC_COMP_LOCYesNoYesYes

Inventory

The following services are included in this functional area:

  • Appointments

Appointment Upload Service
  - Create Appointment

  - Delete Appointment

  - Delete Appointment Details

  - Manage Appointment Details

  - Update Appointment
  • Inventory Download Service

    • Get Item Available Inventory at Customer Orderable Locations

    • Get Item Location Inventory

  • Inventory Adjustments

    • Inventory Adjustment Upload Service

      • Create Inventory Adjustment for Items at a Location

      • Create Inventory Adjustments

    • Item Transformation Upload Service

      • Create Item Transformations
  • Returns To Vendor

    • Return to Vendor Download Service

    • RTV Publish Services

    • – Return to Vendor Upload Service * Manage Returns to Vendor

  • Shipments and Receipts

    • Receiver Unit Adjustment Download Service

    • Get Receiver Unit Adjustment

    • – Shipment and Receipt Download Service

      • Get Shipment Detail
    • Shipment and Receipt Upload Service

      • Create DSD Receipts

      • Create Outbound ASNs

      • Delete Inbound ASNs

      • Manage Inbound ASN

      • Manage Purchase Order and Stock Order Receipts

      • Manage Purchase Order Receipts

      • Manage Stock Order Receipts

        • Update DSD Receipts
  • Stock Counts

    • Stock Count Download Service

      • Get Stock Count Detail
    • Stock Count Upload Service

      • Create Stock Count Schedules

      • Delete Stock Count Schedule Locations

      • Delete Stock Count Schedules

      • Update Stock Count Schedules

  • Transfers and Allocations

    • Allocation Download Service

      • Get Allocation Details for Provided Allocation

      • Get Details for an Allocation

    • Allocation Number Download Service

      • Get Next Allocation Numbers Service
    • Allocation Upload Service

      • Close Allocations

      • Create Allocation Details

      • Create Allocations

    • Delete Allocation Details

      • Update Allocation Details * Update Allocations
    • – Mobile Workflow Transfer Download Service

      • Create Transfer - Get From Locations for Transfer

      • Create Transfer - Get Items for Transfer

        • Create Transfer - Get Next Transfer Numbers * Create Transfer - Get To Locations for Transfer * Create Transfer - Refresh Transfer Items * Create Transfer - Refresh Transfer Locations * Mobile Workflow - Get Locations on Existing Transfers * Mobile Workflow - Get Transfer Statuses * Mobile Workflow - Get Transfer Summary * Mobile Workflow - Get Transfer Types * Mobile Workflow - Get Transfer Users * Mobile Workflow - Get Transfers
    • Mobile Workflow - Refresh Transfer Locations

  • Mobile Workflow Transfer Upload Service

    • Create Transfer
  • Mobile Workflow - Update Transfer Status

  • – Stock Order Status Upload Service * Manage Stock Order Status

  • – Transfer Detail Service

  • Transfer Download Service

    • Get Transfer
  • Get Transfer Details for Provided Transfer

  • – Transfer Upload Service * Create Book Transfer * Create Transfer Details * Create Transfers * Delete Transfer Details * Delete Transfers * Update Transfer Details * Update Transfers

  • – Work Order Status Upload Service * Update Work Orders Status

  • Work Order Download Service

    • Purchase Order Work Order Publish Services

    • Transfer Work Order Publish Services

Appointments

The following services are included in this functional area:

  • Appointment Upload Service

    • Create Appointment

    • Delete Appointment

    • Delete Appointment Details

    • Manage Appointment Details

    • Update Appointment

Appointment Upload Service

The following services are included in this functional area:

  • Create Appointment

  • Delete Appointment

  • Delete Appointment Details

  • Manage Appointment Details

  • Update Appointment

Create Appointment

Functional Area

Inventory - Appointments

Business Overview

This service can be used to create a new appointment in Merchandising. An appointment is sent to Merchandising when merchandise is about to arrive at a location. After performing the business level validations, appointments will be created through this message in the Scheduled status.

Service Type

POST

ReST URL

MerchIntegrations/services/inventory/appointments/create
Input Payload Details

Table 5-247 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of
Objectappointments.

Table 5-248 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
locationYesNumber (10)This feld contains the location where
the merchandise has been sent.
appointmentNoYesNumber (9)This feld contains the unique
number generated by warehouse
while creating an appointment.
appointmentDateTimeNodate-timeThe date and time of the scheduled
appointment,i.e. when the goods are
expected to arrive at the receiving
location.
actionYesString (2)The status of the Appointment. Valid
values include: SC - Scheduled, MS -
Modifed Scheduled, AR - Arrived, AC
- Closed.
detailsNoCollection of
Object
References a collection of
appointment details.
receiptDateTimeNodate-timeThe actual date and time upon which
the trailer arrived at the receiving
location for the appointment.

Table 5-249 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)This feld contains the items shipped
to the location.
unitQuantityYesNumber
(12,4)
This feld contains the quantity of the
item slated to be sent to the location.
documentNoYesNumber (12)This feld contains the purchase
order, transfer or allocation
corresponding to the shipped
merchandise.
documentTypeYesString (1)This feld indicates the type of
document corresponding to the
shipped merchandise. Possible
choices are Purchase Order (P),
Transfer (T), or Allocation (A). Types
’D’ and ‘V’ are also valid document
types that are treated the same as
transfers.
asnNoNoString (30)This feld contains the advance
shipping notice number associated
with the appointment. It is populated
only when the appointment is based
on an ASN.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "location": 2,
      "appointmentNo": 200911,
      "appointmentDateTime": "2001-12-31T23:59:59.123Z",
      "action": "SC",
      "details": [
        {
          "item": "101200001",
          "unitQuantity": 3,
          "documentNo": 100000135000,
          "documentType": "T",
          "asnNo": null
        }
      ],
      "receiptDateTime": "2001-12-31T23:59:59.123Z"
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Appointment

Functional Area

Inventory - Appointments

Business Overview

This service can be used to delete existing appointments in Merchandising. In addition, Merchandising attempts to close the document that is related to the appointment, when applicable. For more details on Appointments, see the Create Appointment service description.

Service Type

DELETE

ReST URL

MerchIntegrations/services/inventory/appointments/delete

Input Payload Details

Table 5-250 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of
Objectappointments.

Table 5-251 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
appointmentNoYesNumber (9)This feld contains the unique
number generated by warehouse
while creating an appointment.
locationYesNumber (10)This feld contains the location where
the merchandise has been sent.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "appointmentNo": 200911,
      "location": 2
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message

{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Appointment Details

Functional Area

Inventory - Appointments

Business Overview

This service is used to delete appointment details from Merchandising. To know more about appointment details, see the Manage Appointment Details service description.

Service Type

DELETE

ReST URL

MerchIntegrations/services/inventory/appointment/details/delete
Input Payload Details

Table 5-252 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of
Objectappointment details.

Table 5-253 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
appointmentNoYesNumber (9)This feld contains the unique
number generated by warehouse
while creating an appointment.
locationYesNumber (10)This feld contains the location where
the merchandise has been sent.
detailsNoCollection of
Object
References a collection of
appointment details.

Table 5-254 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)This feld contains the items shipped
to the location.
documentNoYesNumber (12)This feld contains the purchase
order, transfer or allocation
corresponding to the shipped
merchandise.
asnNoNoString (30)This feld contains the advance
shipping notice number associated
with the appointment. It is populated
only when the appointment is based
on an ASN.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "appointmentNo": 200911,
      "location": 2,
      "details": [
        {
          "item": "101200001",
          "documentNo": 100000135000,
          "asnNo": null
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Manage Appointment Details

Functional Area

Inventory - Appointments
Business Overview

This service updates an appointment detail record that was previously sent, such as an update to the quantity for an item. If the record doesn’t already exist, it is added.

An appointment is sent to Merchandising when merchandise is about to arrive at a location. These appointment messages are processed by Merchandising and it attempts to receive against the appointment and close it, wherever it is possible. This message contains the item information associated with an appointment, including the ASN and the document number (PO, transfer, or allocation)

Service Type
PUT
ReST URL
MerchIntegrations/services/inventory/appointment/details/manage

Input Payload Details

Table 5-255 Manage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of
Objectappointments.

Table 5-256 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
locationYesNumber (10)This feld contains the location where
the merchandise has been sent.
appointmentNoYesNumber (9)This feld contains the unique
number generated by warehouse
while creating an appointment.
actionYesString (2)The status of the Appointment. Valid
values include: SC - Scheduled, MS -
Modifed Scheduled, AR - Arrived, AC
- Closed.
detailsNoCollection of
Object
References a collection of
appointment details.

Table 5-257 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)This feld contains the items shipped
to the location.
unitQuantityYesNumber
(12,4)
This feld contains the quantity of the
item slated to be sent to the location.
documentNoYesNumber (12)This feld contains the purchase
order, transfer or allocation
corresponding to the shipped
merchandise.
documentTypeYesString (1)This feld indicates the type of
document corresponding to the
shipped merchandise. Possible
choices are Purchase Order (P),
Transfer (T), or Allocation (A). Types
’D’ and ‘V’ are also valid document
types that are treated the same as
transfers.

Table 5-257 (Cont.) Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
asnNoNoString (30)This feld contains the advance
shipping notice number associated
with the appointment. It is populated
only when the appointment is based
on an ASN.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "location": 2,
      "appointmentNo": 200911,
      "action": "SC",
      "details": [
        {
          "item": "101200001",
          "unitQuantity": 12,
          "documentNo": 100000135000,
          "documentType": "T",
          "asnNo": null
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Update Appointment

Functional Area

Inventory - Appointments

Business Overview

This service is used to edit an existing appointment in Merchandising. An update message updates the status of an existing appointment if already exists. Valid values for the status column include:

  • SC–Scheduled

  • MS–Modified Scheduled

  • AR–Arrived

  • AC–Closed

For more details about Appointments, see the Create Appointment service description.

Service Type

PUT

ReST URL
MerchIntegrations/services/inventory/appointments/update
Input Payload Details

Table 5-258 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of
Objectappointments.

Table 5-259 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
locationYesNumber (10)This feld contains the location where
the merchandise has been sent.
appointmentNoYesNumber (9)This feld contains the unique
number generated by warehouse
while creating an appointment.
appointmentDateTimeNodate-timeThe date and time of the scheduled
appointment,i.e. when the goods are
expected to arrive at the receiving
location.

Table 5-259 (Cont.) Items - Object. See list of elements for detail

Element Name
Required
Data TypeDescription
action
Yes
String (2)The status of the Appointment. Valid
values include: SC - Scheduled, MS -
Modifed Scheduled, AR - Arrived, AC
- Closed.
receiptDateTime
No
date-timeThe actual date and time upon which
the trailer arrived at the receiving
location for the appointment.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"location": 2,
"appointmentNo": 200911,
"appointmentDateTime": "2001-
"action": "SC",
"receiptDateTime": "2001-12-3
}
]
}
12-31T23:59:
1T23:59:59.1
59.123Z",
23Z"

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Inventory Download Service

The following services are included in this functional area:

  • Get Item Available Inventory at Customer Orderable Locations

  • Get Item Location Inventory

Get Item Available Inventory at Customer Orderable Locations

Functional Area

Inventory

Business Overview

This service publishes available inventory data to downstream consuming systems. It is intended for sellable inventory visibility and returns only rows that are currently sellable, belong to a stockholding and customer-orderable store or warehouse, and are either warehouse inventory or non-pack store inventory. The payload exposes available quantity and stock on hand for the qualifying item/location, and available quantity is calculated at read time from the cached inventory buckets, with warehouse calculations also including pack-component quantities.

This web service is used to fetch available inventory at customer orderable store or warehouse locations. The service considers only approved transaction level items which are sellable, inventoried and ranged to stockholding and customer orderable locations. To keep the data volume manageable for performance consideration, the service publishes inventory availability for item/locations which currently have non-zero inventory position, or had non-zero inventory position in the last 7 days when the current inventory position is zero.

Initial seeding is narrower than steady-state updates. Refresh seeds approved transactionlevel inventoried items that changed recently or still carry non-zero inventory in tracked buckets, while delta updates are driven by ITEM_LOC_SOH quantity changes. Changes to store or warehouse customer-orderable or stockholding flags are handled through targeted rebuild requests so the published population stays aligned with location eligibility.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: ITEM_LOC_SOH

Additional business tables: ITEM_MASTER, STORE, WH

JSON cache table: MERCHAPI_ITEM_LOC_SOH

JSON generation view: not applicable; cache rows are populated directly by package logic

The runtime response is read directly from that cache table, and the cache is populated from ITEM_LOC_SOH, ITEM_MASTER, STORE, and WH through the available-inventory cache processing flow.

Functionally, it serves sellable inventory visibility for customer-orderable locations and returns only rows that are currently sellable, belong to a stockholding and customer-orderable store or warehouse, and are either warehouse inventory or non-pack store inventory.

The payload exposes available quantity and stock on hand for the qualifying item/location, and available quantity is calculated at read time from the cached inventory buckets, with warehouse calculations also including pack-component quantities.

Initial Seeding and post enablement rebuild/repair

Refresh seeds approved transaction-level inventoried items where ITEM_MASTER.STATUS = ‘A’, ITEM_MASTER.ITEM_LEVEL = ITEM_MASTER.TRAN_LEVEL, and ITEM_MASTER.INVENTORY_IND = ‘Y’.

Refresh keeps rows changed in the last 7 days or rows that still have a non-zero quantity in one of the tracked inventory buckets, and DATA_REFRESH/REBUILD marks cache rows deleted when the item/location no longer exists in ITEM_LOC_SOH.

ICL (Integration Change Log) table: ICL_RMS_ITEM_LOC_SOH (ICL consumer name = MERCHAPI)

Triggers on ITEM_LOC_SOH stage ICL_RMS_ITEM_LOC_SOH updates for store and warehouse ITEM_LOC_SOH rows whenever tracked inventory buckets change.

Batch-driven bulk rebuild handling for specific events

Store stockholding indicator change, store customer-orderable indicator change, warehouse stockholding indicator change, and warehouse customer-orderable indicator change do not rely only on ITEM_LOC_SOH delta staging.

Those source events insert a record into MERCHAPI_ASYNC_REQUEST for inventory/ available with REQUEST_TYPE = DATA_REFRESH, REFRESH_TYPE = REBUILD, and REQUEST_PARAMETERS set to the affected store or warehouse so the rebuild stays scoped to that location.

These requests are processed through MERCHAPI_DATA_REBUILD_ADHOC_PROCESS MERCHAPI_DATA_REBUILD_ADHOC_JOB and realign the MERCHAPI_ITEM_LOC_SOH cache when location eligibility changes can add or remove a large inventory population at once.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_ITEM_LOC_SOH

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_ITEM_LOC_SOH_PROCESS MERCHAPI_ITEM_LOC_SOH_ADHOC_JOB

Webhook configuration api name: inventory/available

Special handling

Additional GET query parameters: locationType, location.

Request windows greater than 30 days use the full-download access path, while shorter windows use the delta access path.

Performance Considerations

For customers expecting high to very high publish volume from this API, sizing and operational tuning should be addressed early in the implementation lifecycle. Initial cache seeding, ongoing delta processing, full extracts, and incremental downloads or webhook-driven delivery have different runtime characteristics and should be evaluated separately. Because this service is driven primarily by ITEM_LOC_SOH row volume and inventory-bucket churn rather than by complex source SQL, the available configuration should be validated against the customer production inventory profile, with the key performance-related configuration for this service covering the following:

Multi-threading and commit control

This service supports multi-threaded execution for both initial seeding and delta processing. Thread count is controlled through API_NO_OF_THREADS, and commit sizing is controlled through API_COMMIT_MAX_COUNTER.

Because the cache is populated directly from ITEM_LOC_SOH together with a small set of eligibility tables, runtime is usually driven more by row volume and inventory-change frequency than by join complexity. Common starting points for large-volume runs are 8, 16, or 32 threads. Values of 48 or 64 threads should be considered only after testing and with awareness of competing workload in the environment.

API_COMMIT_MAX_COUNTER should be sized together with the thread setting. Typical values range from about 1,000 rows and can extend to 10,000 for simpler restartable workloads. Lower commit values may perform better when sustained inventory-change spikes need to drain in smaller units of work.

Dropping indexes and constraints during seeding

This option applies only to initial seeding, including truncate-and-load execution. When thread and commit settings are high, concurrent inserts can increase index maintenance overhead and slow the load.

To reduce that overhead, DROP_INDEX_ON_REFRESH can be enabled so indexes and constraints are dropped before seeding and rebuilt after the load completes. GATHER_STATS_ON_REFRESH should normally remain enabled unless testing shows a specific reason to change it.

REST fetch considerations

Because the payload is relatively narrow, larger page limits are often practical after testing. REST page size should still be selected so the average response remains below about 10 MB per call, using common page-limit values such as 1,000, 5,000, or 10,000 rows.

For full downloads, do not provide the since query parameter so the database can favor the primary-key access path. For delta downloads, use a small time window, typically a few minutes and at most a few hours, so the eligible row set on the LAST_UPDATE_DATETIME index remains small.

Wider delta windows, especially multi-day windows that can arise during outages or data recovery, generally do not perform well. For such scenarios, keeping BUILD_HISTOGRAM enabled allows the service to support recovery through smaller, more selective polling windows using the optimalBefore query parameter.

In this catch-up pattern, for requests up to 30 days in the past, the client provides optimalBefore and leaves before empty. The client then uses the returned before timestamp to continue polling incrementally until the backlog is cleared, and then resumes the normal short-

window delta pattern. Hourly histogram processing groups LAST_UPDATE_DATETIME values into buckets of 100,000 rows in MERCHAPI_TIMESTAMP_HISTOGRAM using API specific HISTOGRAM_ROW_COUNT configuration.

Handling Bulk Publish on Store/Warehouse attribute change

This API also uses batch-driven REBUILD handling when store or warehouse stockholding or customer-orderable attributes change.

Those source changes insert MERCHAPI_ASYNC_REQUEST REBUILD requests for inventory/available with the affected location in REQUEST_PARAMETERS. A single store or warehouse eligibility change can therefore republish the full qualifying inventory population for that location rather than only the base inventory rows that changed.

A bulk location stockholding or customer-orderable change can result in a very large number of inventory records being published to downstream systems and should be planned with the downstream performance implication of that message volume in mind.

Service Type

GET

ReST URL

MerchIntegrations/services/inventory/available

Input Parameters
Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
locationTypeNoStringAllowed value for
locationType is ‘S’ for
Store or ‘W’ for
Warehouse. If not
defned, fetches details
for all locations. If
defned, fetches for the
specifed location type.
locationNoString (10)Should be a valid store
or a virtual warehouse
if inventory position
for a particular
location has to be
fetched. locationType
is mandatory if this is
populated
offsetkeyNoStringOffset key
limitNoString (6)Pagination limit.
Default value is 1000.
Parameter NameRequiredData TypeDescription
optimalBeforeNoStringEnables histogram-
based calculation of
the before timestamp
when before is not
provided. Valid values
are Y or N. Default
value is N.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-260 PageResultsItemsMerchapiItemLocSoh - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-261 MerchapiItemLocSoh - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)This feld contains the
action for available
inventory.

Table 5-261 (Cont.) MerchapiItemLocSoh - Object. See list of elements for detail

Element NameRequiredData TypeDescription
locationTypeNoString (1)This feld contains the
type of location in the
location feld. This will
be either S for store or
W for warehouse.
locationNoNumber(10,0)This feld contains the
numeric identifer of
the location in which
the item is to be found.
itemNoString (25)This feld contains the
unique alphanumeric
value that identifes
the item. This will be
an approved sellable
transaction-level item.
For warehouse
locations, pack items
are also included.
availableQuantityNoNumber(12,4)This feld represents
the available
inventory of an item in
a particular location.
This is calculated as
stock on hand minus
the sum of non-
sellable, transfer
reserved, customer
order reserved, RTV,
and in-progress sales
quantity. For
warehouse locations,
the inventory of an
item as a component
of a pack is also
included in the
available inventory
calculation.
stockOnHandNoNumber(12,4)This feld contains the
current stock on hand
for the item.
standardUomNoString (4)This feld contains the
unit of measure in
which stock of the
item is tracked at a
corporate level.
physicalWarehouseNoNumber(10,0)This feld contains the
physical warehouse
for a warehouse
location.

Table 5-261 (Cont.) MerchapiItemLocSoh - Object. See list of elements for detail

Element NameRequiredData TypeDescription
channelIdNoNumber(4,0)This feld contains the
channel ID for the
store, or the channel
of the virtual
warehouse when the
location type is
warehouse.
cacheTimestampNodateTimeThis feld holds the
database timestamp
when the message was
prepared or cached to
serve this service for
an item/location
combination. The
message serving this
service is cached for
an item/location when
inventory position is
changed, and this will
continue to hold the
same timestamp value
until the next
inventory change. The
consumer can use this
feld for sequencing
records for an item/
location. UTC
timestamp.
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-262 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"locationType": null,
"location": 6000,
"item": "100100076",
"availableQuantity": 3,
"stockOnHand": 12,
"standardUom": "EA",
"physicalWarehouse": 11,
"channelId": 1,
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Elements in JSON Output
ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON Input
{
  "items": [{
    "action": "INSERT",
    "locationType": "W",
    "location": "13",
    "item": "102900026",
    "availableQuantity": 1,
    "stockOnHand": 1,
    "standardUom": "EA",
    "physicalWarehouse": 1,
    "channelId": 1,
    "cacheTimestamp": "2022-07-11T15:57:42.147Z"
  }],
  "hasMore": true,
  "limit": 1,
  "count": 1,
  "links": [{
      "href": "http://<hostname>:<portnumber>/MerchIntegrations/services/
inventory/available?
locationType=W&limit=1&since=1970-01-01T00:00:00.001Z&before=2022-07-18T23:27:
26.547666+00:00",
      "rel": "self"
    },
    {
      "href": "http://<hostname>:<portnumber>/MerchIntegrations/services/
inventory/available?
locationType=W&offsetkey=W%2C13%2C102900026&limit=1&since=1970-01-01T00:00:00.
001Z&before=2022-07-18T23:27:26.547666+00:00",
      "rel": "next"
    }
  ]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
ITEM_MASTERYesNoNoNo
STOREYesNoNoNo
WHYesNoNoNo
MERCHAPI_ITEM_LOC_SOHYesNoNoNo

Get Item Location Inventory

This section describes the Item Loc Inventory Detail service.

Business Overview

Item Loc Inventory Detail service allows user to retrieve Item Location and Item Location Stock on Hand information for a selected item and location. If location and location type are not specified, all locations for the item will be retrieved. If location type is specified but not the location, all locations for the item and location type will be retrieved.

Service Type
Get
ReST URL
ItemlocInvDtl/itemlocInvDetail?
item={itemNumber}&location={locationNumber}&locationType={locationType}
Input Parameters
Parameter NameRequiredDescription
ItemYesItem ID
LocationNoLocation ID.
Location TypeNoLocation Type.
Output
RestItemlocInvDtlRecRDO
Parameter NameData Type
itemString
itemParentString
locBigDecimal
locTypeString
unitRetailBigDecimal
sellingUomString
clearIndString
taxableIndString
localItemDescString
statusString
primarySuppBigDecimal
primaryCntryString
avCostBigDecimal
unitCostBigDecimal
stockOnHandBigDecimal
sohUpdateDatetimeTimestamp
inTransitQtyBigDecimal
packCompSohBigDecimal
Parameter NameData Type
packCompResvBigDecimal
packCompExpBigDecimal
rtvQtyBigDecimal
customerResvBigDecimal
sellingUnitRetailBigDecimal
localShortDescString
packCompIntranBigDecimal
tsfReservedQtyBigDecimal
tsfExpectedQtyBigDecimal
nonSellableQtyBigDecimal
customerBackorderBigDecimal
packCompCustResvBigDecimal
packCompCustBackBigDecimal
packCompNonSellableBigDecimal
inProgressSalesQtyBigDecimal
firstReceivedTimestamp
lastReceivedTimestamp
JSON Structure
{
  "item": null,
  "itemParent": null,
  "loc": null,
  "locType": null,
  "unitRetail": null,
  "sellingUom": null,
  "clearInd": null,
  "taxableInd": null,
  "localItemDesc": null,
  "status": null,
  "primarySupp": null,
  "primaryCntry": null,
  "avCost": null,
  "unitCost": null,
  "stockOnHand": null,
  "sohUpdateDatetime": null,
  "inTransitQty": null,
  "packCompSoh": null,
  "packCompResv": null,
  "packCompExp": null,
  "rtvQty": null,
  "customerResv": null,
  "sellingUnitRetail": null,
  "localShortDesc": null,
  "packCompIntran": null,
  "tsfReservedQty": null,
  "tsfExpectedQty": null,
  "nonSellableQty": null,
  "customerBackorder": null,
  "packCompCustResv": null,
  "packCompCustBack": null,
  "packCompNonSellable": null,
  "inProgressSalesQty": null,
  "firstReceived": null,
  "lastReceived": null,
  "links": [],
  "hyperMediaContent": {
    "linkRDO": []
  }
}

Table Impact

TABLESELECTINSERTUPDATEDELETE
V_ITEM_LOCYesNoNoNo
ITEM_LOC_SOHYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Inventory Adjustments

The following services are included in this functional area:

  • Inventory Adjustment Upload Service

    • Create Inventory Adjustment for Items at a Location

    • Create Inventory Adjustments

  • Item Transformation Upload Service

    • Create Item Transformations

Inventory Adjustment Upload Service

The following services are included in this functional area:

  • Create Inventory Adjustment for Items at a Location

  • Create Inventory Adjustments

Create Inventory Adjustment for Items at a Location

This section describes the Inventory Adjustment service.

Functional Area

Inventory

Business Overview

Deprecated in v23.1.401.0: Scheduled for Removal in 2 Years. Use MerchIntegrations/ services/inventory/inventoryAdjustments/create

The primary role of this service is to create inventory adjustment and send them to Merchandising.

Inventory Adjustment Business Overview

Deprecated in v23.1.401.0: Scheduled for Removal in 2 Years. Use MerchIntegrations/ services/inventory/inventoryAdjustments/create

This service creates inventory adjustment by calling the package SVCPROV_INVADJ to load input data to the staging tables and then calling the core inventory adjustment package to validate and insert data to the Merchandising tables.

Service Type
Post
ReST URL
Invadj/createInvadj
Input Parameters
SvcprovInvadjdescRecRDO
Parameter NameData Type
locationBigDecimal
InvadjdtlList
SvcprovInvadjdescdtlRecRDO
Parameter NameData Type
unitQtyBigDecimal
toDispositionString
adjReasonCodeBigDecimal
docTypeString
toWipCodeString
itemString
poNbrString
auxReasonCodeString
weightBigDecimal
toTroubleCodeString
fromWipCodeString
weightUomString
unitCostBigDecimal
fromTroubleCodeString
transshipmentNumberString
fromDispositionString
transactionCodeBigDecimal
adjTranDateDate
(Format:YYYY-MM-DD)
userIdString
JSON Structure
[
  {
    "location":null,
    "invadjdtl":[
      {
        "unitQty":null,
        "toDisposition":null,
        "adjReasonCode":null,
        "docType":null,
        "toWipCode":null,
        "item":null,
        "poNbr":null,
        "auxReasonCode":null,
        "weight":null,
        "toTroubleCode":null,
        "fromWipCode":null,
        "weightUom":null,
        "unitCost":null,
        "fromTroubleCode":null,
        "transshipmentNumber":null,
        "fromDisposition":null,
        "transactionCode":null,
        "adjTranDate":null,
        "userId":null,
      }
    ]
  }
]
Output
SvcprovInvadjStatusRecRDO
Parameter NameData Type
statusMsgString
invadjErrTblList< SvcprovFailInvadjRecRDO >
SvcprovFailInvadjRecRDO
Parameter NameData Type
locationBigDecimal
unitQtyBigDecimal
adjReasonCodeBigDecimal
itemString
errorMsgString

The output will contain the status of the request including validation errors, if any.

JSON Structure
{
  "statusMsg": null,
  " invadjErrTbl ": [
    {
      " location": null,
      "unitQty": null,
      " adjReasonCode": null,
      " item": null,
      "errorMsg": null,
      "links": [],
      "hyperMediaContent": {
        "linkRDO": []
      }
    }
  ],
  "links": [],
  "hyperMediaContent": {
    "linkRDO": []
  }
}

Table Impact

TABLESELECTINSERTUPDATEDELETE
INV_ADJYesYesNoNo
ITEM_LOC_SOHYesYesYesNo
SVC_PROCESS_TRACKERYesYesYesNo
SVC_INV_ADJYesYesYesYes
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo
Create Inventory Adjustments

Functional Area

Inventory - Inventory Adjustments

Business Overview

Merchandising receives requests for inventory adjustments from an integration subsystem through this service. The request contains information about the item and location whose inventory is being adjusted, the quantity to adjust, a ‘from’ and a ‘to’ disposition code, and the reason for the adjustment. Merchandising uses the information in these requests to perform the following actions :

Adjust overall quantities of stock on hand for the item and location combination

Adjust the availability of item-location quantities based on status.

After initial processing and validation, Merchandising performs the following tasks:

The item/location is ranged if it does not already exist.

For total stock on hand adjustments:

Stock on hand is updated for the item at the location, for total stock on hand adjustments.

Stock adjustment is recorded to the Merchandising transaction level stock ledger.

For status-based adjustments:

Quantities by inventory status are adjusted for the item/location combination.

Non-sellable quantity is updated for the item/location.

For both types, an audit trail is created for the inventory adjustment by item, location, inventory status and reason.

Note: An adjustment can impact both total stock on hand and inventory status at the same time.

Inventory Adjustment Transaction Codes

Whenever the status or quantity of inventory changes, Merchandising writes transaction codes to adjust inventory values in the stock ledger. The types of inventory adjustment transaction codes are:

  • Tran code 22 - adjustments where positive and negative adjustments are made to total stock on hand using a reason code with the COGS indicator = N. In this case, a transaction is inserted to the transaction level stock ledger for both the retail and cost value of the adjustment.

  • Tran code 23 - adjustments where positive and negative adjustments are made to total stock on hand using a reason code with the COGS indicator = Y. In this case, a transaction is inserted to the transaction level stock ledger for both the retail and cost value of the adjustment.

  • Tran code 25 - adjustments to inventory status, where inventory is moved to or from an unavailable or non-sellable status.

Other Notes

One or both of the ‘from’ disposition and ‘to’ disposition fields must have values. Both cannot be empty. If both contain equal values, no adjustment will be made.

The item must be inventoried and approved.

If the item is a simple pack catch weight item, then both the weight and weight UOM need to be defined or NULL. The weight UOM must be of the type ‘Mass’.

The item should be a transaction-level or a reference item. When a reference item is passed in, its parent item (the transaction level item) has its inventory adjusted.

If adjusting a pack at a warehouse, the pack item must have its inventory tracked at the pack level (receive as type = Pack for the item/warehouse).

If the location is a warehouse, then either a virtual or physical warehouse can be supported. If it is a virtual warehouse, it must be a stockholding warehouse. If it is a physical warehouse, then the adjusted quantity is distributed among the virtual locations of the physical location.

Service Type
POST
ReST URL
MerchIntegrations/services/inventory/inventoryAdjustments/create
Input Payload Details

Create - Object. See list of elements for detail

Items - Object. See list of elements for detail

Details - Object. See list of elements for detail

Response Code: 200 (Success)

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Item Transformation Upload Service

The following services are included in this functional area:

  • Create Item Transformations
Create Item Transformations

Functional Area

Inventory - Inventory Adjustments

Business Overview

The service provides the ability to process inventory adjustments and WAC recalculation in Merchandising for item transformations from an external system such as the Fresh Product Management System. The service accepts the list of input & output items involved in the transformation and carry out inventory adjustments to account for inventory conversions in the transformation. Based on the product transformations details, the inventory of the input item(s) will be decremented, and the inventory of the output item(s) will be incremented.

An item transformation may also include the costs involved in labor and packaging. In order to communicate the conversion cost to Merchandising as this will have impact on Stock Ledger postings and WAC calculation, the transformation request can also carry activity codes for each transformation activity involved in producing the output items. The cost associated with each of these activities can be predefined in Merchandising or can be interfaced in the transformation message with the activity code.

The service supports a collection of item transformation request and will return success or failure through the service response object. If there are upload validation errors, the record will be rejected, and a failure status will be returned as part of the response object in the web service call.

Service Type

POST

ReST URL
MerchIntegrations/services/item/transformations/create
Input Payload Details

Table 5-263 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
Collection of item transformations.

Table 5-264 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
transformationIdYesString (15)The external reference id
corresponding to a transformation.
This should be unique at LOCATION
and TRANSFORMATION DATE level.
locationYesNumber (10)The stockholding company store or
the stockholding virtual warehouse at
which the transformation was
performed.
locationTypeYesString (1)The type of the location. Valid values
are S - Store and W - Warehouse.
transformationDateNodateThe date of transformation. This can
be a past or present date in reference
to the Vdate. Valid format is ‘yyyy-
mm-dd’.
workOrderActivityNoCollection of
Object
Collection of all the work order
activities involved in the
transformation.
transformationInputYesCollection of
Object
Collection of the input item details
involved in the transformation.
transformationOutputYesCollection of
Object
Collection of the output item details
involved in the transformation.

Table 5-265 WorkOrderActivity - Object. See list of elements for detail

Element NameRequiredData TypeDescription
activityCodeYesString (10)The activity code corresponding to
the work order activity involved in
transformation such as labor and
packaging cost.
activityCostNoNumber
(20,4)
The cost involved in the work order
activity.
currencyCodeNoString (3)The currency in which the activity
cost is provided. If the value is null
and an activity cost is provided, then
it is assumed that the given activity
cost is in the location’s currency.

Table 5-266 TransformationInput - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The transaction level or below
transaction level item which was
used as an input item or as an output
item in the transformation activity.

Table 5-266 (Cont.) TransformationInput - Object. See list of elements for detail

Element NameRequiredData TypeDescription
dispositionNoString (10)This value is used to determine if the
quantity of the input/output item
consumed/generated in the
transformation is from available or
unavailable inventory buckets based
on the dispositions INV_STATUS value
in the INV_STATUS_CODES table.
quantityYesNumber
(12,4)
The quantity consumed for the input
item or the quantity generated for the
output item.
quantityUomNoString (4)The UOM corresponding to the
quantity value. It should be a UOM
from the same uom class as that of
the uom class of the Standard UOM of
the item.
weightTypeNoString (6)Indicates whether the WEIGHT is the
Total weight (T) or the Weight per
unit (WPU). Valid values are defned
in code detail with code type INVW.
weightNoNumber
(12,4)
Weight of the item utilized (input) or
generated (output). For weight type
Total, the given weight is the Total
weight for the quantity utilized or
generated.
weightUomNoString (4)Unit of Measure of the weight.
inventoryIdentiferTypeNoString (6)This inventory identifer type feld is
passed during Item Transformation
message. Valid values are found
under the Inventory Identifer Types
(IIDT) code type; for example, Lot (L),
Expiry Date (E), Import Document (D).
inventoryIdNoString (120)Holds the inventory identifer
provided on item transformation
messages. It is a free-form text ID
feld that will be interfaced and
displayed as a text feld.

Table 5-267 CreateError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemTransformationErrorYesCollection ofCollection of Item transformation
Objecterror records.

Table 5-268 ItemTransformationError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
transformationIdYesString (15)The external reference id
corresponding to a transformation.
This should be unique at LOCATION
and TRANSFORMATION DATE level.
locationYesNumber (10)The stockholding company store or
the stockholding virtual warehouse at
which the transformation was
performed.
locationTypeYesString (1)The type of the location. Valid values
are S - Store and W - Warehouse.
transformationDateYesdateThe date of transformation. This can
be a past or present date in reference
to the Vdate. Valid format is ‘yyyy-
mm-dd’.
errorsYesArray of
String
Collection of error messages.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "transformationId": "10001",
      "location": 1531,
      "locationType": "S",
      "transformationDate": "2001-12-31",
      "workOrderActivity": [
        {
          "activityCode": "12122",
          "activityCost": 10,
          "currencyCode": "USD"
        }
      ],
      "transformationInput": [
        {
          "item": "101050103",
          "disposition": "ATS",
          "quantity": 2,
          "quantityUom": "EA",
          "weightType": "WPU",
          "weight": 2.5,
          "weightUom": "KG",
          "inventoryIdentifierType": "L",
          "inventoryId": "5346"
        }
      ],
      "transformationOutput": [
        {
          "item": "101050103",
          "disposition": "ATS",
          "quantity": 2,
          "quantityUom": "EA",
          "weightType": "WPU",
          "weight": 2.5,
          "weightUom": "KG",
          "inventoryIdentifierType": "L",
          "inventoryId": "5346"
        }
      ]
    }
  ]
}

Response Code: 200 (Success) Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Table 5-269 CreateError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemTransformationErrorYesCollection ofCollection of Item transformation
Objecterror records.

Table 5-270 ItemTransformationError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
transformationIdYesString (15)The external reference id
corresponding to a transformation.
This should be unique at LOCATION
and TRANSFORMATION DATE level.
locationYesNumber (10)The stockholding company store or
the stockholding virtual warehouse at
which the transformation was
performed.
locationTypeYesString (1)The type of the location. Valid values
are S - Store and W - Warehouse.
transformationDateYesdateThe date of transformation. This can
be a past or present date in reference
to the Vdate. Valid format is ‘yyyy-
mm-dd’.
errorsYesArray of
String
Collection of error messages.
Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    {
      "itemTransformationError": [
        {
          "transformationId": "String",
          "location": 190104,
          "locationType": "?",
          "transformationDate": "2001-12-31",
          "errors": [
            "String"
          ]
        }
      ]
    }
  ]
}

Returns To Vendor

The following services are included in this functional area:

  • Return to Vendor Download Service

    • RTV Publish Services
  • Return to Vendor Upload Service

    • Manage Returns to Vendor

Return to Vendor Download Service

The following services are included in this functional area:

  • RTV Publish Services
RTV Publish Services

Endpoints

MerchIntegrations/services/inventory/rtv
MerchIntegrations/services/inventory/rtv/{rtvOrderNo}

Functional Area

Inventory – Returns to Vendor

Business Overview

This service publishes return-to-vendor data to downstream consuming systems. It publishes the RTV header together with RTV detail lines, warehouse and supplier enrichment, and header custom flex attributes. Functionally, the view does not apply a direct RTV status filter,

but it only publishes RTVs that currently have at least one detail row. The payload also derives the published location fields from the header so location and locationType resolve to either the store or warehouse side of the RTV.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: RTV_HEAD, RTV_DETAIL

Additional business tables: WH, SUPS, RTV_HEAD_CFA_EXT

JSON cache table: MERCHAPI_EXT_RTV

JSON generation view: V_MERCHAPI_EXT_RTV_JSON

Builds the RTV header from RTV_HEAD, uses aggregated line data from RTV_DETAIL, enriches the payload with warehouse information from WH and supplier information from SUPS, and adds header custom flex attributes from MERCHAPI_EXT_RTV_HEAD_CFA.

The view does not apply a direct RTV status filter, but it only publishes RTVs that currently have at least one detail row.

The payload also derives several location fields from the header: location is either RTV_HEAD.WH or RTV_HEAD.STORE, locationType is S or W based on the same warehouse/store split, and physicalLocation resolves to WH.PHYSICAL_WH or the store.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_EXT_RTV_JSON and apply RTV_HEAD.STATUS_IND <> 5.

Mark cache rows deleted when the RTV no longer exists in V_MERCHAPI_EXT_RTV_JSON.

ICL (Integration Change Log) table: ICL_RMS_RTV (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on RTV_HEAD, RTV_DETAIL, and RTV_HEAD_CFA_EXT.

Queue detail changes only when the related header status = 10.

Queue CFA changes only when RTV status not in (5,12,15).

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_RTV

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_RTV_ADHOC_PROCESS MERCHAPI_EXT_RTV_ADHOC_JOB

Webhook configuration api name: inventory/rtv

Performance Considerations

For customers expecting high to very high publish volume from this API, sizing and operational tuning should be addressed early in the implementation lifecycle. Initial cache seeding, ongoing delta processing, full extracts, and incremental downloads or webhook-driven delivery have different runtime characteristics and should be evaluated separately. Because this service is built primarily from RTV header and detail data with a smaller supporting-table footprint, runtime is usually driven more by transaction volume and detail density than by source SQL complexity, with the key performance-related configuration for this service covering the following:

Multi-threading and commit control

This service supports multi-threaded execution for both initial seeding and delta processing. Thread count is controlled through API_NO_OF_THREADS, commit sizing through API_COMMIT_MAX_COUNTER, and long-running initial seeding can also be segmented through API_EXEC_SECONDS.

Common starting points for higher-volume runs are 8 or 16 threads, while higher settings such as 32 should be considered only after testing. This service is delivered seeded at 1 thread and should be increased gradually after validating throughput and restart behavior.

API_COMMIT_MAX_COUNTER should be sized together with the thread setting. Typical values range from about 1,000 rows and can extend to 10,000 for simpler restartable workloads. Lower commit values may perform better when RTV detail changes arrive in shortterm spikes.

API_EXEC_SECONDS is mainly relevant for initial seeding. A value of about 30 minutes helps the batch pause and resume cleanly so tuning changes can be applied between runs if needed.

Dropping indexes and constraints during seeding

This option applies only to initial seeding, including truncate-and-load execution. When thread and commit settings are high, concurrent inserts can increase index maintenance overhead and slow the load.

To reduce that overhead, DROP_INDEX_ON_REFRESH can be enabled so indexes and constraints are dropped before seeding and rebuilt after the load completes. GATHER_STATS_ON_REFRESH should normally remain enabled unless testing shows a specific reason to change it.

REST fetch considerations

REST page size should be selected based on average payload size so the average response remains below about 10 MB per call. Common page-limit values are 1,000, 5,000, or 10,000 rows.

For full downloads, do not provide the since query parameter so the database can favor the primary-key access path. For delta downloads, use a small time window, typically a few minutes and at most a few hours, so the eligible row set on the LAST_UPDATE_DATETIME index remains small.

Wider delta windows, especially multi-day windows that can arise during outages or data recovery, generally do not perform well. For such scenarios, keeping BUILD_HISTOGRAM enabled allows the service to support recovery through smaller, more selective polling windows using the optimalBefore query parameter.

In this catch-up pattern, for requests up to 30 days in the past, the client provides optimalBefore and leaves before empty. The client then uses the returned before timestamp to continue polling incrementally until the backlog is cleared, and then resumes the normal shortwindow delta pattern. Hourly histogram processing groups LAST_UPDATE_DATETIME values into buckets of 10,000 rows in MERCHAPI_TIMESTAMP_HISTOGRAM using the shared HISTOGRAM_ROW_COUNT configuration.

Service Type

GET

ReST URL

MerchIntegrations/services/inventory/rtv

MerchIntegrations/services/inventory/rtv/{rtvOrderNo}

Input Parameters for MerchIntegrations/services/inventory/rtv

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoStringOffset key
limitNoString (6)Pagination limit.
Default value is 1000.
optimalBeforeNoStringEnables histogram-
based calculation of
the before timestamp
when before is not
provided. Valid values
are Y or N. Default
value is N.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-271 Input Parameter for “MerchIntegrations/services/inventory/rtv/ {rtvOrderNo}“

Parameter NameRequiredData TypeDescription
rtvOrderNoYesStringRTV Order Number

Table 5-271 (Cont.) Input Parameter for “MerchIntegrations/services/inventory/rtv/ {rtvOrderNo}“

Parameter NameRequiredData TypeDescription
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Input Parameters for MerchIntegrations/services/inventory/rtv/{rtvOrderNo}

Parameter NameRequire
d
Data TypeDescription
rtvOrderNoYesNumberThis number uniquely identifes the return
to vendor within the system.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Output - RTV Head

Table 5-272 PageResultsItemsMerchApiRTV - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-273 MerchApiRTV - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for RTV details.
rtvOrderNoNoNumber(10,0)This feld contains the
number that uniquely
identifes the return to
vendor within the
system.
supplierNoNumber(10,0)This feld contains the
unique identifer for
the supplier or
supplier site to which
the merchandise is
being returned.
supplierNameNoString (240)This feld contains the
supplier’s trading
name.
statusNoNumber(2,0)This feld contains the
current status of the
return. Valid values
include 10 - Approved,
12 - In Progress, 15 -
Shipped, and 20 -
Cancelled.
locationNoNumber(10,0)This feld contains the
unique identifer for
the location where the
items are being
returned from.
locationTypeNoString (1)This feld contains the
type of location from
which the items are
being returned.
physicalLocationNoNumber(10,0)This feld contains the
store number or the
physical warehouse
from which the items
are being returned.
totalOrderAmountNoNumber(20,4)This feld contains the
total amount of the
return. This feld is
stored in the supplier’s
currency.
shipToAddress1NoString (240)This feld contains the
frst line of the
supplier’s address for
returns.
shipToAddress2NoString (240)This feld contains the
second line of the
supplier’s address for
returns.

Table 5-273 (Cont.) MerchApiRTV - Object. See list of elements for detail

Element NameRequiredData TypeDescription
shipToAddress3NoString (240)This feld contains the
third line of the
supplier’s address for
returns.
shipToCityNoString (120)This feld contains the
city name of the
supplier’s address for
returns.
stateNoString (3)This feld contains the
state of the supplier’s
address for returns.
shipToCountryNoString (3)This feld contains the
country ID of the
supplier’s address for
returns.
shipToPostalCodeNoString (30)This feld contains the
zip code of the
supplier’s address for
returns.
returnAuthorizationN
o
NoString (12)This feld contains the
number that the
supplier provides
when the decision is
made that an order
may be returned.
returnCourierNoString (250)This feld contains the
courier name if the
supplier requires that
returns be sent by a
designated carrier.
freightChargeNoNumber(20,4)This feld contains the
freight cost associated
with the vendor
return, if applicable,
and is stored in the
supplier’s currency.
creationDateNodateThis feld contains the
date on which the RTV
order was created.
completedDateNodateThis feld contains the
date the RTV order
was completed.

Table 5-273 (Cont.) MerchApiRTV - Object. See list of elements for detail

Element NameRequiredData TypeDescription
restockingPercentageNoNumber(12,4)This feld contains the
restocking fee
percentage applicable
to the order. This is the
fee as a percentage of
the total return value
charged by the
supplier for
recovering the
expenses that may
have to be incurred
while restocking them
at the supplier’s
location.
restockingCostNoNumber(20,4)This feld contains the
restocking fee value.
This is calculated
based on the
restocking percentage
by multiplying it by
the total return value.
externalReferenceNoNoString (30)This feld contains an
audit trail reference to
an external system
when an RTV is
created by external
store or warehouse
systems.
commentsNoString (2000)This feld contains any
comments associated
with the return.
notAfterDateNodateThis feld contains the
last date that an RTV
can be sent to a
supplier.
massReturnTransferN
o
NoNumber(10,0)This feld holds the
unique identifer for
the mass return
transfer if the RTV is
created through a
mass return transfer.
shipToJurisdictionCod
e
NoString (10)This feld identifes the
jurisdiction code for
the country-state
relationship.
rtvOriginatedIndNoString (6)This feld identifes the
source of the return
present in the table.
createDateTimeNodateTimeThis column holds the
record creation date
and time (UTC).

Table 5-273 (Cont.) MerchApiRTV - Object. See list of elements for detail

Element NameRequiredData TypeDescription
updateDateTimeNodateTimeThis column holds the
date and time when
the record was last
updated (UTC).
detailsNoCollection of ObjectThis list holds
attributes for RTV
detail records.
customFlexAttributeNoCollection of ObjectThis list holds custom
fex attributes for the
RTV.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the RTV record was
frst picked for
processing from the
ICL table.
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication.

Table 5-274 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemNoString (25)This feld contains the
unique identifer for
the item being
returned to the
supplier.
shipmentNoNumber(12,0)This feld is no longer
used by RMS.
invStatusNoNumber(2,0)This feld contains the
number representing
the inventory status
code. This feld is only
required if the reason
feld has a value of U
for unavailable
inventory.
quantityRequestedNoNumber(12,4)This feld contains the
quantity of this item
requested to be
returned to the
supplier.

Table 5-274 (Cont.) Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
unitCostNoNumber(20,4)This feld contains the
cost per unit for the
item being returned
that is expected to be
recovered from the
supplier. This feld is
stored in the supplier’s
currency.
reasonNoString (6)This feld contains the
value identifying the
reason for the return.
Valid values for this
feld are defned on
CODE_DETAIL where
CODE_TYPE = ‘RTVR’.
sequenceNoNoNumber(4,0)This feld contains a
sequence number
which makes the
record unique when
combined with the
RTV order number.
quantityCancelledNoNumber(12,4)This feld contains the
difference between
quantity requested
and quantity returned.
This is updated after
the RTV has been
shipped.
quantityReturnedNoNumber(12,4)This feld contains the
quantity of this item
that was shipped to
the supplier on this
RTV.
restockPercentageNoNumber(12,4)This feld contains the
restocking fee
percentage applicable
to the item. This is the
fee as a percentage of
the total return value
charged by the
supplier for
recovering the
expenses that may
have to be incurred
while restocking them
at the supplier’s
location.
originalUnitCostNoNumber(20,4)This feld contains the
current weighted
average cost for the
item at the return
location.

Table 5-274 (Cont.) Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
updatedByRmsIndNoString (1)This feld indicates if
the last update to
RTV_DETAIL was done
by RMS or an external
application. If by RMS,
the indicator will be
set to Y and a message
will be published to
external systems. If by
an external
application, the
indicator will be set to
N and a message will
not be published to
external systems.
createDateTimeNodateTimeThis column holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis column holds the
date and time when
the record was last
updated (UTC).

Table 5-275 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-276 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"rtvOrderNo": 1,
"supplier": 1,
"supplierName": null,
"status": 1,
"location": 1,
"locationType": null,
"physicalLocation": 1,
"totalOrderAmount": 1.0,
"shipToAddress1": null,
"shipToAddress2": null,
"shipToAddress3": null,
"shipToCity": "Minneapolis",
"state": "MN",
"shipToCountry": "US",
"shipToPostalCode": null,
"returnAuthorizationNo": null,
"returnCourier": null,
"freightCharge": 1.0,
"creationDate": "2001-12-31",
"completedDate": "2001-12-31",
"restockingPercentage": 1.0,
"restockingCost": 1.0,
"externalReferenceNo": null,
"comments": "commentDesc",
"notAfterDate": "2001-12-31",
"massReturnTransferNo": 1,
"shipToJurisdictionCode": null,
"rtvOriginatedInd": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"details": [
{
"item": null,
"shipment": 1,
"invStatus": 1,
"quantityRequested": 3,
"unitCost": 9.65,
"reason": null,
"sequenceNo": 1,
"quantityCancelled": 1.0,
"quantityReturned": 1.0,
"restockPercentage": 1.0,
"originalUnitCost": 1.0,
"updatedByRmsInd": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Output - RTV Details
NameData TypeDescription
itemStringUnique identifer for the item.
shipmentNumberThe RTV shipment number.
invStatusStringThe inventory status code. Only applicable if
the reason feld has a value of ‘U’ for
unavailable inventory.
quantityRequestedNumberThe quantity of items requested to be returned
to the supplier.
unitCostNumberThe cost per unit for the SKU being returned in
the supplier’s currency.
ReasonStringThe cost per unit for the SKU being returned in
the supplier’s currency.
NameData TypeDescription
sequenceNoNumberThe sequence number of the RTV detail record
that is being deleted.
quantityCancelledNumberThe difference between qty_requested and
qty_returned. This is updated after the RTV has
been shipped.
quantityReturnedNumberThis feld contains the quantity of this item that
was shipped to the supplier on this RTV.
restockPercentageNumberThis feld contains the Restocking Fee
percentage applicable to the item. This is the
fee as percentage of the total return value
charged by the supplier for recovering the
expenses that may have to be incurred while
restocking them at suppliers location.
originalUnitCostNumberThis feld contains the current weighted
average cost for the item at the return location.
updatedByRmsIndStringThis feld indicates if the last update to
RTV_DETAIL table is done by RMS or an
external application. If by RMS, then the
indicator will be set to Y and a message will be
published to external systems; otherwise, the
indicator will be set to N and a message will not
be published to external systems.
createDateTimeStringDate time when record was inserted.
updateDateTimestringDate time when record was updated.

Output - Custom Flex Attributes

NameData TypeDescription
nameStringThis feld will hold the custom fex attribute
name.
valueStringThis feld will hold the numeric or string value
of the custom fex attribute.
valueDateStringThis feld will hold the date value of the custom
fex attribute.
createDateTimeStringThis feld will hold the date time when the
custom fex attribute was inserted.
updateDateTimeStringThis feld will hold the date time when the
custom fex attribute was last updated.

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
ElementsDescription
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON output:
{
  "items": [
    {
      "action": "NO_CHANGE",
      "rtvOrderNo": 0,
      "supplier": 0,
      "supplierName": "string",
      "status": 0,
      "location": 0,
      "locationType": "string",
      "physicalLocation": 0,
      "totalOrderAmount": 0,
      "shipToAddress1": "string",
      "shipToAddress2": "string",
      "shipToAddress3": "string",
      "shipToCity": "string",
      "state": "string",
      "shipToCountry": "string",
      "shipToPostalCode": "string",
      "returnAuthorizationNo": "string",
      "returnCourier": "string",
      "freightCharge": 0,
      "creationDate": "string",
      "completedDate": "string",
      "restockingPercentage": 0,
      "restockingCost": 0,
      "externalReferenceNo": "string",
      "comments": "string",
      "notAfterDate": "string",
      "massReturnTransferNo": 0,
      "shipToJurisdictionCode": "string",
      "originInd": "string",
      "createDateTime": "string",
      "updateDateTime": "string",
      "details": [
        {
          "item": "string",
          "shipment": "string",
          "invStatus": "string",
          "quantityRequested": 0,
          "unitCost": 0,
          "reason": "string",
          "sequenceNo": 0,
          "quantityCancelled": 0,
          "quantityReturned": 0,
          "restockPercentage": 0,
          "originalUnitCost": 0,
          "updatedByRmsInd": "string",
          "createDateTime": "string",
          "updateDateTime": "string"
        }
      ],
      "customFlexAttribute": [
        {
          "name": "string",
          "value": "string",
          "valueDate": "string",
          "createDateTime": "string",
          "updateDateTime": "string"
        }
      ],
      "rtvOriginatedInd": "string",
      "cacheTimestamp": "string"
    }
  ],
  "hasMore": true,
  "limit": 0,
  "count": 0,
  "links": [
    "SELF_LINK"
  ]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_RTVYesNoYesYes
MERCHAPI_EXT_RTVYesYesYesYes
V_ MERCHAPI_EXT_RTV _JSONYesNoNoNo

Return to Vendor Upload Service

The following services are included in this functional area:

  • Manage Returns to Vendor
Manage Returns to Vendor

Functional Area

Inventory - Returns to Vendor

Business Overview

Merchandising subscribes to return-to-vendor (RTV) messages when an RTV is shipped out from a warehouse or store. This shipment could be for an RTV that was initially created in Merchandising, or one initiated at the store or warehouse. The RTV information is sent from a warehouse management system (WMS), such as Oracle WMS Cloud or the store inventory solutions, such as Oracle Retail Store Inventory and Operations Cloud Service (SIOCS) when the RTV is created or shipped out of the location. Additionally, RTV information may also come from an external application where RTVs are planned. The external system can create, cancel or update RTVs using this service in the similar manner these are created in Merchandising.

This service allows the above listed systems to create, update or cancel RTVs in Merchandising. Create, update and cancel messages can be sent through this single service.

This service accepts the following status:

A - Approved

P - In-Progress

S - Shipped

C - Cancelled

Create RTVs

If the message contains a new RTV generated in the store or warehouse, then it must contain both header and detail information. RTVs from external systems can be created in Approved, In-Progress or Shipped status. RTVs created in Approved status will be editable through Merchandising screen where details can be updated including an approved RTVs being shipped and cancelled. RTVs created in Approved status via this service will be integrated to downstream systems.

Update RTVs

RTVs in Input (created via Merchandising UI), In-Progress, Approved and Shipped status can be updated using this service. To update an RTV, you can send either only the header information or both header and detail level information. The most common update is to ship a previously created RTV. While updating an approved or in-progress RTV to the Shipped status, if only the header information is provided, then the requested quantity of all the items that are present in the approved RTV will be shipped. Note: Once RTVs are Shipped, they cannot be changed back to the approved status. Alternatively, approved RTVs can also be set to Cancelled status by updating the quantities in case they cannot be shipped for some reason.

Cancel RTV

An RTV can be cancelled without specifying the individual item quantities by sending the header information with Cancelled status. Only Input and Approved RTVs can be cancelled.

Service Type

PUT

ReST URL
MerchIntegrations/services/inventory/returnsToVendor/manage

Input Payload Details

Table 5-277 Manage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of return to
Objectvendor details.

Table 5-278 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
rtvNoNoNumber (10)Contains the number that uniquely
identifes the return to vendor within
the system. If both the rtvNo and
extRefNo are provided, it is assumed
that an existing externally generated
RTV that contains the same rtvNo/
extRefNo combination needs to be
updated. If no match is found, then
the service will return an error. In
order to create a new return to
vendor, the rtvNo feld must be blank.
When updating a return to vendor
that was initiated in Merchandising,
both the rtvNo and extRefNo must be
provided but only the rtvNo is
expected to match since the extRefNo
is blank for these types of RTVs.
locationYesNumber (10)Contains the location number that the
items are returned from. If the
location is a store, the STORE column
gets populated with the location
value, and the WH column is
defaulted to -1. If the location is a
warehouse, the WH column gets
populated.
externalReferenceNoNoString (30)Audit trail reference to external
system when an external transaction
initiates master record creation in
Merchandising.
returnAuthorizationNoNoString (12)Contains the number that the
supplier provides when the decision
is made that an order may be
returned. This value is not always
required and is determined by
vendor level data.
supplierYesNumber (10)Contains the supplier ID to which the
merchandise is being returned.
shipToAddress1NoString (240)Contains the frst line of the supplier’s
address for returns.
shipToAddress2NoString (240)Contains the second line of the
supplier’s address for returns.
shipToAddress3NoString (240)Contains the third line of the
supplier’s address for returns.

Table 5-278 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
shipToStateNoString (3)Contains the state of the supplier’s
address for returns.
shipToCityNoString (120)Contains the city name of the
supplier’s address for returns.
shipToPostalCodeNoString (30)Contains the zip code of the supplier’s
address for returns.
shipToCountryNoString (3)Contains the country ID of the
supplier’s address for returns.
createdDateNodateContains the date the vendor return
was created.
statusNoString (1)This value is used to determine the
current status of the return. If this is
’A’, Merchandising will set the status
to 10 (Approved). If this is ‘P’,
Merchandising will set the status to
12 (In Progress). If this is ‘S’ or null, it
will be set to 15 (Shipped). If this is ‘C’,
Merchandising will set the status to
20 (Cancelled).
commentsNoString (2000)Contains any comments associated
with the return.
detailsNoCollection of
Object
References a collection of items on
the RTV. If no details are provided for
the RTV status being updated from
Approved to Shipped, then the
quantity requested for all the items
that are present in the RTV will be
shipped.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes. This collection is
treated as a single group and should
include all named fexible attributes
for the business entity. If any
confgured named attribute is
missing from the input collection, its
value will be set to NULL.
consignmentVendorRtvIndNoString (1)This indicator determine whether the
RTV being interfaced is a
Consignment Vendor RTV.

Table 5-279 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)Unique identifer for the item on the
RTV.

Table 5-279 (Cont.) Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
unitQuantityYesNumber
(12,4)
Contains the item quantity that is
being returned to the supplier under
this RTV number. When updating the
quantity in an RTV, the value of the
return/requested quantity will be
increased if the unit quantity
provided is positive whereas a
negative unit quantity will increase
the quantity cancelled. This quantity
cannot be negative for RTVs in
shipped status, and should always be
greater than zero when creating a
new RTV detail record.
fromDispositionNoString (4)This value is used to determine if the
inventory is available or unavailable,
based on the code’s INV_STATUS
value on the INV_STATUS_CODES
table.
unitCostNoNumber
(20,4)
Contains the cost per unit for the SKU
being returned. This feld is stored in
the supplier’s currency.
reasonNoString (6)Contains the value identifying the
reason for the return. Valid values
are: Q - QC Failed, U - Unavailable
Inventory. Other values may also be
entered via the codes table under
code type ‘RTVR’, however, the two
codes listed previously may never be
deleted. Note that any value added
can only be related to RTV from
existing inventory (e. g. overstock).
weightNoNumber
(12,4)
Contains the actual weight shipped
for the items on the RTV. This should
not be provided for RTVs in the
approved status.
weightUomNoString (4)Unit of Measure for the weight (for
example, pounds, kilograms).
inventoryIdentiferTypeNoString (6)This inventory identifer type feld is
passed during Return to Vendor
Integration. Valid values are found
under the Inventory Identifer Types
(IIDT) code type; for example, Lot (L),
Expiry Date (E), Import Document (D).
inventoryIdNoString (120)Holds the inventory identifer
provided on inventory transaction
messages. It is a free-form text ID
feld that will be interfaced and
displayed as a text feld.

Table 5-280 CustomFlexAttribute - Object. See list of elements for detail

Element Name Required Data Type Description name Yes String (30) Holds the attribute name. value No String (250) Holds the numeric or string value of the attribute. valueDate No date Holds the date value of the attribute. Sample Input Message { "collectionSize": 1, "items": [ { "rtvNo": 188295, "location": 1521, "externalReferenceNo": "RETURN01", "returnAuthorizationNo": "5522014", "supplier": 2400, "shipToAddress1": "2243 Pennys Way", "shipToAddress2": null, "shipToAddress3": null, "shipToState": "ORE", "shipToCity": "Woodburn", "shipToPostalCode": "4522", "shipToCountry": "US", "createdDate": "2001-12-31", "status": "A", "comments": "creating RTV via ReST service", "details": [ { "item": "100100068", "unitQuantity": 3, "fromDisposition": "ATS", "unitCost": 9.65, "reason": "O", "weight": 1, "weightUom": "KG", "inventoryIdentifierType": "L", "inventoryId": "5346" } ], "customFlexAttribute": [ { "name": "COMMENT", "value": "CFA Comment creating RTV via ReST service", "valueDate": "2001-12-31" } ], "consignmentVendorRtvInd": "Y" } ] }

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Shipments and Receipts

The following services are included in this functional area:

  • Receiver Unit Adjustment Download Service

    • Get Receiver Unit Adjustment
  • Shipment and Receipt Download Service

    • Get Shipment Detail
  • Shipment and Receipt Upload Service

    • Create DSD Receipts

    • Create Outbound ASNs

    • Delete Inbound ASNs

    • Manage Inbound ASN

    • Manage Purchase Order and Stock Order Receipts

    • Manage Purchase Order Receipts

    • Manage Stock Order Receipts

    • Update DSD Receipts

Receiver Unit Adjustment Download Service

The following services are included in this functional area:

• Get Receiver Unit Adjustment

Get Receiver Unit Adjustment

Endpoint

MerchIntegrations/services/inventory/receiverunitadj

Functional Area

Inventory - Shipments and Receipts

Business Overview

This service publishes receiver unit adjustment data to downstream consuming systems. It publishes incremental receiver-unit-adjustment transactions together with the ASN reference, receiving location, adjusted unit quantity, and from/to disposition movement. Functionally, the upstream receiver-unit-adjustment logic writes to RUA_RIB_INTERFACE when the calling program is REIM or RECUTADJ, and only when the adjusted quantity is non-zero.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: RUA_RIB_INTERFACE

Additional business tables: SHIPMENT

JSON cache table: MERCHAPI_EXT_RCV_UNIT_ADJ

JSON generation view: not applicable; cache rows are populated directly from ICL_RMS_RCV_UNIT_ADJ and SHIPMENT by the delta-processing logic

Functionally, the upstream receiver-unit-adjustment logic only writes to RUA_RIB_INTERFACE when the calling program is REIM or RECUTADJ, and only when the adjusted quantity is nonzero.

The published asnNo is derived as the first available value of SHIPMENT.EXT_REF_NO_IN or SHIPMENT.ASN), so SIM’s external receipt number takes precedence over the shipment ASN when it exists.

This API is delta-only by design.

Initial Seeding and post enablement rebuild/repair

This API has no initial load or rebuild; the refresh step only performs API-disable handling for the cache table.

ICL (Integration Change Log) table: ICL_RMS_RCV_UNIT_ADJ (ICL consumer name = MERCHAPI)

The delta async process reads unprocessed ICL_RMS_RCV_UNIT_ADJ rows for consumer MERCHAPI, inserts one cache row per event, and deletes the processed ICL rows after publication.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_RUA

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_RUA_ADHOC_PROCESS - > MERCHAPI_EXT_RUA_ADHOC_JOB

Webhook configuration api name: inventory/receiverunitadj

Service Type

GET

ReST URL

MerchIntegrations/services/inventory/receiverunitadj

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoStringOffset key (Sequence
Number)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-281 PageResultsItemsMerchApiRua - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records

Table 5-281 (Cont.) PageResultsItemsMerchApiRua - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-282 MerchApiRua - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for receiver
unit adjustment
details.
locationNoNumber(10,0)This feld contains the
unique identifer for
the location for which
the receiver unit
adjustment is
performed. The
location will be a store
if the location type is S,
and a warehouse if the
location type is W.
locationTypeNoString (1)This feld contains the
type of the location for
which the receiver
unit adjustment is
performed. Valid
values are S for store
and W for warehouse.
orderNoNoNumber(12,0)This feld contains the
unique identifer for
the order against
which a receiver unit
adjustment was
performed.

Table 5-282 (Cont.) MerchApiRua - Object. See list of elements for detail

Element NameRequiredData TypeDescription
asnNoNoString (30)This feld contains the
advance shipment
notifcation number
associated with the
shipment for which a
receiver unit
adjustment was
performed.
itemNoString (25)This feld contains the
unique identifer for
the item for which the
receiver unit
adjustment is being
made.
containerIdNoString (30)This feld contains the
unique identifer for
the carton that
contained the item
against which the
receiver unit
adjustment was
performed.
unitQuantityNoNumber(12,4)This feld contains the
quantity of the
receiver unit
adjustment.
fromDispositionNoString (4)This value, along with
the to disposition
value, is used to
determine if the
inventory is available
or unavailable.
toDispositionNoString (4)This feld contains the
value used to
determine if the
inventory is available
or unavailable based
on the value of the
INV_STATUS column in
the
INV_STATUS_CODES
table.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the record was frst
picked for processing
from ICL table (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-283 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"location": 1111,
"locationType": "S",
"orderNo": 545005,
"asnNo": "ASN_11223344_2",
"item": "106400029",
"containerId": "CTN_1_ASN_11223344_2",
"unitQuantity": 3,
"fromDisposition": "ATS",
"toDisposition": "ATS",
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Table Impact

Table Impact: The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoYesNo
TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_RCV_UNIT_ADJYesNoYesYes
MERCHAPI_EXT_RCV_UNIT_ADJNoYesNoYes
SYSTEM_OPTIONSYesNoNoNo

Shipment and Receipt Download Service

The following services are included in this functional area:

• Get Shipment Detail

Get Shipment Detail

This section describes the Shipment Detail Service.

Functional Area

Inventory - Shipments and Receipts

Business Overview

This service allows users to retrieve shipment and shipment item details for a given distro (transfer or allocation) or purchase order (PO).

Service Type

Get

ReST URL

Shipment/shipmentDetail?
orderNumber={orderNumber}&distroNumber={distroNumber}&distroType={distroType}

Input Parameters

Parameter NameRequiredDescription
orderNumberNoOrder Number. If none is specified, then Distro Number
and Distro Type are required.
distroNumberNoDistro Number. If none is specified, then Order Number is
required.
distroTypeNoDistro Type. If none is specified, then Order Number is
required.

Output

RestShipmentRecRDO
Parameter NameData Type
shipmentBigDecimal
bolNoString
asnString
shipDateTimestamp
receiveDateTimestamp
Parameter NameData Type
estArrDateTimestamp
shipOriginString
statusCodeString
toLocBigDecimal
toLocTypeString
fromLocBigDecimal
fromLocTypeString
parentShipmentBigDecimal
seqNoBigDecimal
itemString
refItemString
cartonString
invStatusBigDecimal
shipskuStatusCodeString
qtyReceivedBigDecimal
unitCostBigDecimal
unitRetailBigDecimal
qtyExpectedBigDecimal
adjustTypeString
actualReceivingStoreBigDecimal
reconcileUserIdString
reconcileDateTimestamp
tamperedIndString
dispositionedIndString
JSON Structure
{
   "shipment":null,
   "bolNo":null,
   "asn":null,
   "shipDate":null,
   "receiveDate":null,
   "estArrDate":null,
   "shipOrigin":null,
   "statusCode":null,
   "toLoc":null,
   "toLocType":null,
   "fromLoc":null,
   "fromLocType":null,
   "parentShipment":null,
   "seqNo":null,
   "item":null,
   "refItem":null,
   "carton":null,
   "invStatus":null,
   "shipskuStatusCode":null,
   "qtyReceived":null,
   "unitCost":null,
   "unitRetail":null,
   "qtyExpected":null,
   "adjustType":null,
   "actualReceivingStore":null,
   "reconcileUserId":null,
   "reconcileDate":null,
   "tamperedInd":null,
   "dispositionedInd":null,
    "links": [],
    "hyperMediaContent": {
        "linkRDO": []
    }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
V_SHIPMENTYesNoNoNo
V_SHIPSKUYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Shipment and Receipt Upload Service

The following services are included in this functional area:

  • Create DSD Receipts

  • Create Outbound ASNs

  • Delete Inbound ASNs

  • Manage Inbound ASN

  • Manage Purchase Order and Stock Order Receipts

  • Manage Purchase Order Receipts

  • Manage Stock Order Receipts

  • Update DSD Receipts

Create DSD Receipts

Functional Area

Inventory - Shipments and Receipts

Business Overview

Direct store delivery (DSD) is the delivery of merchandise to and/or the performance of services in a store without the benefit of a pre-approved purchase order. When the delivery or service occurs, the store inventory system (for example, SIOCS) informs Merchandising of the receipt, which also generates the purchase order at the same time. The receipt can include both the merchandise item as well as the non-merchandise information associated with the

order. This information works in conjunction with payment details sent through Sales Audit if payment was made a part of the delivery or service at the store.

Service Type

POST

ReST URL

MerchIntegrations/services/inventory/shipmentsAndReceipts/dsd/create

Input Payload Details

Table 5-284 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection ofReferences a collection of DSD
ObjectReceipts.

Table 5-285 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesNumber (10)This feld contains the unique
identifying number for a supplier for
the receipt.
originCountryYesString (3)
This feld contains the identifer of
the country from which the item is
being sourced.
storeYesNumber (10)This feld contains the location where
the items were delivered.
deptNoNumber (4)The department in which all the
items on the order belong.
currencyCodeYesString (3)This feld contains a code identifying
the currency the supplier uses for
business transactions.
paidIndYesString (1)This feld indicates if the invoice has
already been paid. Valid values are Y
(invoice has already been paid) or N
(invoice should be paid in accounts
payable system).
externalReferenceNoNoString (30)If the invoice indicator is Y (invoice
has been created), the external
reference number, proof of delivery
number, or payment reference
number must be provided.
proofOfDeliveryNoNoString (30)This feld contains the proof of
delivery or service number given at
the time of receipt at the store. This
feld will also be included when the
invoice is interfaced through Sales
Audit.

Table 5-285 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
paymentReferenceNoNoString (16)This feld contains the reference
number attached to the invoice
payment, used when the invoice is
paid from the POS system and
interfaced through Sales Audit.
paymentDateNodateThis feld contains the date when the
invoice was paid from the POS
system. This feld will be populated
when the invoice is interfaced
through Sales Audit.
invoiceIndYesString (1)This feld indicates whether an
invoice was created for this receipt by
the supplier. Valid values are Yes (Y)
and No (N).
dealsIndYesString (1)This feld indicates whether deals
need to be applied to the DSD
Purchase Order or not. Valid values
are Yes (Y) and No (N).
externalReceiptNoNoString (17)This feld holds the external
transaction sequence number for the
receipt.
receiptDateNodateThis feld contains the date of the
receipt.
detailsNoCollection of
Object
References a collection of DSD
Receipt detail records.
nonMerchDetailsNoCollection of
Object
References a collection of DSD Non
Merchandise detail records.

Table 5-286 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)This feld contains the item in the
receipt. The item must be an
approved item that is at transaction
level or above.
quantityReceivedYesNumber
(12,4)
This feld contains the number of
items received for the item/shipment
combination. The value must be
greater than 0.
unitCostNoNumber
(20,4)
This feld contains the cost of the item
from the supplier/origin country in
the supplier’s currency.
weightNoNumber
(12,4)
This feld contains the weight of the
item in the receipt, if it is a catch
weight item.
weightUomNoString (4)This feld contains the unit of
measure of the received weight.

Table 5-286 (Cont.) Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
inventoryIdentiferTypeNoString (6)This inventory identifer type feld is
passed during a DSD receipt message.
Valid values are found under the
Inventory Identifer Types (IIDT) code
type; for example, Lot (L), Expiry
Date (E), Import Document (D).
inventoryIdNoString (120)Holds the inventory identifer
provided on inventory transaction
messages. It is a free-form text ID
feld that will be interfaced and
displayed as a text feld.

Table 5-287 NonMerchDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nonMerchCodeYesString (6)This feld contains the non-
merchandising code that will be
added to an invoice for services or
other non-merchandise costs
associated with the order.
nonMerchAmountYesNumber (20)This feld contains the amount of the
non-merchandise cost that was
invoiced. This feld will be held in the
invoice currency.
vatCodeNoString (6)This feld contains the code
identifying the VAT rate that should
be applied to the non-merchandise
amount entered.
servicePerformedIndYesString (1)Indicates if a service non-
merchandise cost has actually been
performed. Valid values are ‘Y’
(service has been performed) or ‘N’
(service has not been performed or
non-merchandise cost is not a service
cost).
Sample Input Message
{
  "items": [
    {
      "supplier": 2400,
      "originCountry": "US",
      "store": 1531,
      "dept": 1117,
      "currencyCode": "USD",
      "paidInd": "Y",
      "externalReferenceNo": "REF1531",
      "proofOfDeliveryNo": null,
      "paymentReferenceNo": null,
      "paymentDate": "2001-12-31",
      "invoiceInd": "Y",
      "dealsInd": "Y",
      "externalReceiptNo": "RECREF1531",
      "receiptDate": "2001-12-31",
      "details": [
        {
          "item": "100750001",
          "quantityReceived": 3,
          "unitCost": 9.65,
          "weight": 79.00,
          "weightUom": null,
          "inventoryIdentifierType": "L",
          "inventoryId": "5346"
        }
      ],
      "nonMerchDetails": [
        {
          "nonMerchCode": "B720",
          "nonMerchAmount": 123456,
          "vatCode": "S",
          "servicePerformedInd": "N"
        }
      ]
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Create Outbound ASNs

Functional Area

Inventory - Shipments and Receipts

Business Overview

Merchandising receives advanced shipping notifications (ASNs), also known as a bill of lading (BOL) messages, from a warehouse management system, like Oracle Warehouse Management Cloud, or a store inventory system like Oracle Retail Store Inventory and Operations Cloud Service (SIOCS).

These ASNs are notifications to Merchandising that inventory is moving from one location to another and they contain data that is used by Merchandising to create or modify a shipment record. ASNs are received for:

  • Pre-existing allocations

  • Pre-existing transfers

  • Externally generated transfers created in the store or warehouse (created as transfer type of EG within Merchandising).

An ASN message may contain details related to multiple transfers or allocations, and would enable the shipment record in Merchandising to reflect these multiple movements of the merchandise. The BOL number present on the shipment record is a way to track one or more transfers and allocations through their respective stock order records. Shipments for customer orders, franchise orders, and franchise returns are also managed through this service. If the receiving location is a non-stockholding location, like in the case of a warehouse shipment to a non-stockholding franchise store, or a warehouse shipment direct to a customer (that is processed through a non-stockholding store), then the shipment will be automatically received when processed by Merchandising.

Note

ASNs related to a purchase order from a supplier are classified as an Inbound ASNs. Details for those types of expected shipments are found in the ASN In Subscription service documentation.

Other Notes
  • For customer order fulfillment, SIOCS will send an ASN Out message that does not include a ship-to location. Such messages are ignored by Merchandising.

  • Store to customer fulfillment requests will not have associated transfers in Merchandising. When Oracle Retail Store Inventory and Operations Cloud Service (SIOCS) ships the customer order, then SIOCS will generate an Outbound ASN message with an empty ‘To Location’ or with the Location Type set as Customer (C). Since there are no associated transfers within Merchandising, it will not process these Outbound ASN messages. The reserved inventory will be backed out when Merchandising processes the related SALES transaction.

  • Messages received through this service can create new shipments or update existing shipments. A new shipment record will be created in Merchandising in the ‘Input’ status if the BOL number is not yet associated to any shipment record. If the BOL number is already associated to a shipment record, the shipment record will be updated accordingly.

Service Type
POST
ReST URL
MerchIntegrations/services/inventory/shipmentsAndReceipts/outboundAsn/create
Input Payload Details

Table 5-288 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of ASN details.

Table 5-289 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
toLocationNoNumber (10)Contains the location that the
shipment will be delivered to.
fromLocationYesNumber (10)For transfer and allocation
shipments, this feld will hold the
location from which the shipment
was sourced.
cartonQuantityNoNumber (6)Contains the number of boxes
associated with the shipment.
asnNoNoString (30)Holds the bill of lading number
associated with a shipment. This feld
will be persisted in the bol_no
column of the Shipment table in
Merchandising.
bolNoYesString (17)Holds the transaction sequence
number on the message from the
transfer shipment confrmation
process. This feld will be persisted in
the ext_ref_no_out column of the
Shipment table in Merchandising.
shipDateNodateThis feld contains the date the
transfer or PO was shipped.
estimatedArrivalDateNodateThis feld contains the estimated
arrival date of a vendor PO shipment.
It is updated by EDIUP856. It is used
for vendor/lead time analysis.
commentsNoString (2000)Contains any miscellaneous
comments about the shipment.
carrierCodeNoString (4)Contains the courier that will deliver
the shipment.
shipmentDetailsNoCollection of
Object
Description is not available.

Table 5-290 ShipmentDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
distroNoYesNumber (12)Specifes the transfer or allocation
number associated with the
shipment/item/carton.
distroDocumentTypeYesString (1)Specifes what the distro_nbr feld
corresponds to in Merchandising: V,
D, and T specify transfer, A specifes
Allocation.
customerOrderNoNoString (48)This is the customer order number
that was generated by OMS and
contains multiple fulfllment
numbers.
fulfllOrderNoNoString (48)Based on a customer order - OMS will
generate fulfllments to specifc
locations based on availability. RMS
will generate Transfers based on the
fulfllment request.
commentsNoString (2000)Not used by RMS.
cartonsYesCollection of
Object
Description is not available.

Table 5-291 Cartons - Object. See list of elements for detail

Element NameRequiredData TypeDescription
cartonYesString (30)Identifes the UCC-128 carton number
for shipments originating from the
Advance Shipment Notifcation
process as carton shipments. This
feld will be zero for all shipments
that are not at a carton level.
weightNoNumber
(12,4)
Actual weight shipped for the
container.
weightUomNoString (4)Unit of measurement for weight (e. g.
pounds, kilograms) that was shipped.
itemsYesCollection of
Object
Description is not available.

Table 5-292 Cartons.Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)Unique identifer for the item.
unitQuantityYesNumber
(12,4)
Contains the number of items
expected to be received based on the
supplier’s advance shipment
notifcation for this item/shipment
combination.

Table 5-292 (Cont.) Cartons.Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fromDispositionNoString (4)This value is used to determine if the
inventory is available or unavailable,
based on the code’s INV_STATUS
value on the INV_STATUS_CODES
table.
unitCostNoNumber
(20,4)
Contains the unit cost of the item in
the shipment.
baseCostNoNumber
(20,4)
This value will be used to get the base
cost (BC) from RFM for a transfer,
which will fow into RMS.
weightNoNumber
(12,4)
Actual weight shipped.
weightUomNoString (4)Unit of measurement for weight (for
example, pounds, kilograms) shipped.
inventoryIdentiferTypeNoString (6)This inventory identifer type feld is
passed during shipment of transfer/
allocations. Valid values are found
under the Inventory Identifer Types
(IIDT) code type; for example, Lot (L),
Expiry Date (E), Import Document (D).
inventoryIdNoString (120)Holds the inventory identifer
provided on shipment transaction
messages. It is a free-form text ID
feld that will be interfaced and
displayed as a text feld.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "toLocation": 1221,
      "fromLocation": 1151,
      "cartonQuantity": 5,
      "asnNo": "ASN-100100990",
      "bolNo": "BOL-100100990",
      "shipDate": "2001-12-31",
      "estimatedArrivalDate": "2001-12-31",
      "comments": "Shipment for transfer 100100990",
      "carrierCode": "FDX",
      "shipmentDetails": [
        {
          "distroNo": 100100990,
          "distroDocumentType": "T",
          "customerOrderNo": null,
          "fulfillOrderNo": null,
          "comments": "Shipment for transfer 100100990",
          "cartons": [
            {
              "carton": "CRTN10001",
              "weight": 3,
              "weightUom": "KG",
              "items": [
                {
                  "item": "100100991",
                  "unitQuantity": 10,
                  "fromDisposition": "ATS",
                  "unitCost": 9.65,
                  "baseCost": 10.65,
                  "weight": 3,
                  "weightUom": "KG",
                  "inventoryIdentifierType": "L",
                  "inventoryId": "5346"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Inbound ASNs
Functional Area

Inventory - Shipments and Receipts

Business Overview

This service is used to delete shipments from Merchandising that have not been received. Only ASN shipments (Ship Origin = 0) and ASN UCC-128 shipments (Ship Origin = 6) can be deleted using this service.

Service Type

DELETE

ReST URL

MerchIntegrations/services/inventory/shipmentsAndReceipts/inboundAsn/delete

Input Payload Details

Table 5-293 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of ASN details
Objectfor deletion.

Table 5-294 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
asnNoYesString (30)Not used in Merchandising.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "asnNo": "ASN-464690028"
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Manage Inbound ASN

Functional Area

Inventory - Shipments and Receipts

Business Overview

This service creates a new shipment record or updates an existing shipment for ASNs that have not been received once the supplier or consolidator sends an advanced shipping notice (ASN) to Merchandising. Merchandising subscribes to this ASN information and stores the information in the related tables depending upon the validity of the records enclosed within the ASN message. If an existing ASN number and carton combination already exists, the shipment details (shipment date, carrier code, unit quantity, etc.) will be updated with the values in the request, otherwise a new shipment record will be created.

The ASN message will consist of a header record, a series of order records, carton records, and item records. For each message, the header, order and item records are required while the carton portion of the record is optional. However, if a carton record is present or the ASN type is ‘C’, then the carton details must be present. The header record will contain information about the shipment, such as it’s destination location and estimated arrival date. The order records will identify the purchase orders that are associated with the shipment. If the shipment is packed in cartons, then the carton records will identify the items present in the cartons. The item records will contain details on the items that are present on the shipments, along with the quantity that will be shipped.

The location that is contained on the ASN will represent the expected receiving location for the order. If the location is set up as a non-stockholding store in Merchandising, then the shipment will also be automatically received when the ASN is processed. The two types of nonstockholding stores/orders for which orders are supported in this integration are Franchise stores and Customer orders.

Once the ship quantity is matched, an invoice is generated for Invoice Matching.

Note

This message can also be used by stores and warehouses for inbound transfer and allocation shipments. However, for Merchandising, all those shipments are processed as Outbound ASNs.

Service Type

PUT

ReST URL
MerchIntegrations/services/inventory/shipmentsAndReceipts/inboundAsn/manage
Input Payload Details

Table 5-295 Manage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of ASN details.

Table 5-296 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
toLocationNoNumber (10)Contains the location that the
shipment will be delivered to. For
purchase orders this will always be
either a store or a physical
warehouse.
asnNoYesString (30)Not used in Merchandising.
shipDateYesdateThis feld contains the date the
transfer or PO was shipped.
estimatedArrivalDateNodateThis feld contains the estimated
arrival date of a vendor PO shipment.
It is updated by EDIUP856. It is used
for vendor/lead time analysis.
commentsNoString (2000)Contains any comments about the
shipment.
carrierCodeNoString (4)This column contains a code that
indicates the carrier that is involved
in the shipment.
asnTypeYesString (1)This feld is used to determine the
ship origin. If asn_type is ‘C’,
ship_origin will be set to ‘6’ (ASN
UCC-128) upon insert to the
SHIPMENT table. Otherwise,
SHIP_ORIGIN is defaulted to ‘0’ (ASN
Shipment).
supplierYesNumber (10)Contains the supplier who will
provide the merchandise specifed in
the order. This element is used to
validate the order number(s) in
ASNInPO (ASNInPO. po_nbr). The
order number must be in the table
ORDHEAD, in either the ORDER_NO
column or VENDOR_ORDER_NO
column.

Table 5-296 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
shipPayMethodNoString (2)This column indicates the payment
terms for freight charges associated
with the order. Valid values are found
in code type SHMT. Examples are
Collect (CC), Collected Freight
Credited Back to Cust (CF) and
Defned by Buyer and Seller (DF).
asnDetailsYesCollection of
Object
References a collection of ASN details.

Table 5-297 AsnDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNoYesNumber (12)Identifes the order number which
relates to the goods delivered in the
shipment. Validated against the
ORDHEAD table, and also the
SHIPMENT table if the message
applies to an existing shipment.
notAfterDateNodateThis feld contains the last date that
delivery of the order will be accepted.
containersNoCollection of
Object
References a collection of shipment
cartons.
itemsNoCollection of
Object
References a collection of items and
item details.

Table 5-298 Containers - Object. See list of elements for detail

Element NameRequiredData TypeDescription
containerIdYesString (30)Holds the UCC-128 carton number.
fnalLocationYesNumber (10)This will be the fnal destination of
the carton. For a cross-dock order this
will be the allocation location,
otherwise it will be the direct to order
location.
itemsYesCollection of
Object
References a collection of items and
item details.
trackingNbrNoString (120)This is a unique tracking number that
is used to track containers through a
carriers system. Not used in
Merchandising.

Table 5-299 Containers.Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemNoString (25)Unique identifer for the item. Either
vpn, item_id, or ref_item must be
specifed in the message.
unitQuantityYesNumber
(12,4)
This column contains the quantity of
the item that is expected to be
received.
vpnNoString (30)This column contains the vendor
product number used to fnd the item
number. Either VPN, item number, or
reference item must be specifed in
the message.
referenceItemNoString (25)The column contains a bar code or
reference item. Either VPN, item
number, or reference item must be
specifed in the message.
uinsNoCollection of
Object
Collection of Universal Identifcation
Numbers. Not used in Merchandising.

Table 5-300 Uins - Object. See list of elements for detail

Element NameRequiredData TypeDescription
uinYesString (128)Universal Identifcation Number
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "toLocation": 2,
      "asnNo": "ASN-464690028",
      "shipDate": "2001-12-31",
      "estimatedArrivalDate": "2001-12-31",
      "comments": "commentDesc",
      "carrierCode": "FDX",
      "asnType": "C",
      "supplier": 2400,
      "shipPayMethod": "PO",
      "asnDetails": [
        {
          "orderNo": 464690028,
          "notAfterDate": "2001-12-31",
          "containers": [
            {
              "containerId": "00152100-1",
              "finalLocation": 1521,
              "items": [
                {
                  "item": "103900095",
                  "unitQuantity": 3,
                  "vpn": "vpn-00152100-1-103900095",
                  "referenceItem": null,
                  "uins": [
                    {
                      "uin": "103-64323123-12"
                    }
                  ]
                }
              ],
              "trackingNbr": "1234567A89"
            }
          ],
          "items": [
            {
              "item": "103900095",
              "unitQuantity": 3,
              "vpn": "vpn-00152100-1-103900095",
              "referenceItem": null,
              "uins": [
                {
                  "uin": "103-64323123-12"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Manage Purchase Order and Stock Order Receipts
Functional Area
Inventory - Shipments and Receipts
Business Overview

This service processes receipts that Merchandising receives against purchase orders, transfers, and allocations received at a store, warehouse or finisher. Purchase orders can be received at the item level only using this message, while transfers and allocations, collectively referred to as stock orders, may be received at the bill of lading (BOL) level, where the entire shipment is received without including details, carton level, or item level.

When a transfer, PO or allocation is received at a location, Merchandising will update the appropriate tables, including the shipment, the transfer, allocation, purchase order, stock on hand, as well as other inventory buckets (for example, in-transit). A record of the receipt is also made in the Stock Ledger.

Receiving Exceptions

Merchandising has the ability to automatically resolve several common exceptions that can occur during the receiving process. The following exceptions can be automatically processed when a stock order is received through this service:

Receipt Against the Wrong BOL

In this case, the receiving location should send a carton status of Dummy (D) or Overage (O), indicating that a dummy BOL number was used. But, even if that status is not used, this exception processing can still take place. Merchandising will attempt to match the contents of the receipt to a valid BOL as follows:

If the carton belongs to a valid BOL at the given location, Merchandising receives the carton against the intended BOL at the given location.

If the carton belongs to a valid BOL at a related walk-through store, Merchandising receives the carton against the intended BOL at the intended location.

If the carton belongs to a valid BOL at an unrelated location, Merchandising uses the wrong store receiving process.

Walk-through Store Receiving

If you have configured two or more stores as ‘walk-through’ locations, via attribution at on the store table in Merchandising, then if the BOL was intended to be received at the walk-through location instead of the location on the message, Merchandising will automatically adjust the receipt and process against the correct location.

Misdirected Container

Misdirected containers, or wrong store receiving, is when one or more containers on a receipt is identified as having been originally shipped to a different location (Location A) than the location that sent the receipt message (Location B). Whether or not misdirected container receiving is supported in Merchandising is controlled by a system option called Wrong Store Receipt Exception Handling. If this option is unchecked (N), then the receipt at the Location B will raise an error in this service. If set to checked (Y), then the shipment at Location A will be backed out, including in-transit updates, WAC adjustments, and stock ledger postings, and reapplied to Location B, prior to processing the receipt into Location B.

In order correctly manage this processing, Merchandising must receive the original carton number on the receipt. In some cases, such as when integrating with Store Inventory and Operations Cloud Service (SIOCS), the carton ID is reassigned by the receiving location. In that case, the reference carton field in the Receipt Detail node of the message must be populated to trigger this process. Otherwise, it will be treated as an overage at the actual receiving location and the original location will not have its quantities reversed until the transfer is reconciled.

Note: Wrong location receiving is supported only for item-level transfer/allocation receipts.

Unwanted Cartons

An unwanted carton is a situation where Merchandising never received notification of the original shipment, only the receipt. In this case, if receiving is done at the item level, Merchandising will process both the shipment and receipt together. If item level details are not included for the carton, an error will be raised, as Merchandising will not be able to determine the contents of the carton, having never received the initial shipment details.

Zero Receipts

This type of exception occurs when a location indicates to Merchandising that nothing was received for the item at the location by sending a receipt of zero and indicating that the carton is closed. Merchandising will reconcile the original ship to location based on system option settings to determine where to write off the lost items.

If a zero receipt occurs for an item that is part of a misdirected container, then some slightly different processing will occur. If the zero receipt is sent after a misdirected container reconciliation, then no further updates will be made, as the line would have been previously reconciled. If a zero receipt occurs before misdirected container processing, then the misdirected container processing at the actual receiving location will be treated as an overage, as the original location would have already been reconciled.

Other Key Notes

Externally generated warehouse-to-warehouse transfers are not supported in Merchandising, where the transfer is created in Merchandising at the physical warehouse level for both locations. For example, a warehouse-to-warehouse transfer created in WMS. This includes the receipt of such a transfer using this service.

Wrong store receiving is not supported for franchise transactions.

Service Type

PUT

ReST URL
MerchIntegrations/services/inventory/shipmentsAndReceipts/receipts/manage
Input Payload Details

Manage - Object. See list of elements for detail

Items - Object. See list of elements for detail

Receipts - Object. See list of elements for detail

ReceiptDetails - Object. See list of elements for detail

Cartons - Object. See list of elements for detail

ReceiptOverages - Object. See list of elements for detail

Details - Object. See list of elements for detail

Response Code: 200 (Success)

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Manage Purchase Order Receipts

Functional Area

Inventory - Shipments and Receipts

Business Overview

This service is used to process receipts within Merchandising against purchase orders. The receipt gets processed against the matching shipment if it already exists within Merchandising whereas a new shipment record and receipt are created if it does not find a matching shipment. Purchase orders can be received only at an item level using this service.

When a PO is received at a location, Merchandising will update the appropriate tables, including the shipment and purchase order, stock on hand, as well as other inventory buckets (e.g., in-transit). A record of the receipt is also made in the transaction level stock ledger.

Service Type

PUT

ReST URL
MerchIntegrations/services/inventory/shipmentsAndReceipts/purchaseOrder/
receipts/manage

Input Payload Details

Table 5-301 Manage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of receipt
Objectrecords.

Table 5-302 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
appointmentNoNoNumber (9)Unique identifer for receiving a
group of items.
receiptsYesCollection ofReferences a collection of purchase
Objectorder receipts.

Table 5-302 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
receiptOveragesNoCollection of
Object
Contains the Receipt Overage
Information. This optional overage
node is ignored by MFCS. This
overage group is used by Retail Fiscal
Management system to differentiate
whether an item or item quantity was
not received due to specifc reason
codes such as damaged for example.

Table 5-303 Receipts - Object. See list of elements for detail

Element NameRequiredData TypeDescription
locationYesNumber (10)Indicates the location that has
processed the receipt. For stores, this
will be the store ID. For warehouses,
this will be the physical warehouse
ID.
orderNoNoNumber (12)Specifed the unique identifer of the
purchase order, allocation or
transfer.
referenceDocumentNoNoNumber (10)Contains a reference number for a
document associated to the shipment
(e.g., Fiscal Document ID for Brazilian
based transactions).
asnNoNoString (30)Used to relate the receipt message to
the previous ASN message. This feld
is required for transfers and
allocations.
receiptDetailsNoCollection of
Object
References a collection of receipt
details.

Table 5-304 ReceiptDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)Specifes the item on the allocation,
purchase order, or transfer that has
been received.
receivedQuantityYesNumber
(12,4)
Contains the quantity received for the
allocation, purchase order, or
transfer in the standard unit of
measure.
receiptTransactionTypeYesString (1)Specifes whether the receipt detail
line item is for a ‘R’eceipt,
‘T’ransshipment, or ‘A’djustment. For
purchase order receiving,
Transshipments are not allowed. For
stock order (ie. Allocation and
Transfer) receiving, Transshipments
are handled the same way as ‘R’eceipt
type.

Table 5-304 (Cont.) ReceiptDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
receiptDateNodateIdentifes the date on which the
transaction was received.
externalReferenceNoYesString (17)An externally generated identifer
corresponding to the receipt of the
item at the location.
distroLocationNoNumber (10)Only used for purchase order receipt,
when the purchase order has an
allocation attached to it. This element
specifes the location to which the
allocation is being sent.
containerIdNoString (30)Identifes the carton number for
shipments originating from the
Advance Shipment Notifcation
process as carton shipments.
distroNoNoNumber (12)Only used for purchase order
receipts, when the purchase order
has an allocation attached to it. This
element contains the allocation id.
distroDocumentTypeNoString (1)Only used for purchase orders, when
the purchase order has an allocation
attached to it. When populated, this
value should always be A to specify
an allocation.
toDispositionNoString (4)This value is used to determine if the
inventory is available or unavailable,
based on the code’s INV_STATUS
value on the INV_STATUS_CODES
table.
fromDispositionNoString (4)This value is used to determine
inventory availability. Valid values
are in the INV_STATUS_CODES table.
The from disposition is used when
the to disposition is not provided.
unitCostNoNumber
(20,4)
Used for purchase order receipts
when confgured for Global Tax (GTS)
where the location’s country is
localized. Otherwise, it is ignored
except in scenarios where there is an
unexpected item on the receipt, in
which case it can be optionally
included to indicate the receipt cost
of the item. If not included for
unexpected receipts, the default
supplier cost will be used. Cost is
converted to the order’s currency
before insert/update.
shippedQuantityNoNumber
(12,4)
Only used for doc_type of ‘P’. Updates
the number of items expected to be
received, originally set by the ASN
process.

Table 5-304 (Cont.) ReceiptDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
weightNoNumber
(12,4)
Contains the actual weight of the item
received for the shipment. This will
be included for some catch weight
items.
weightUomNoString (4)Contains the unit of measure of the
received weight (e.g., pounds,
kilograms) where UOM class is of
type MASS. Weight and Weight UOM
must both be populated, or both must
be NULL.
grossCostNoNumber
(20,4)
Contains the Unit cost and Expenses
incurred on an item in a particular
transaction.
itemLineNoNoNumber (10)This feld indicates the item line
number from customer orders.
inventoryIdentiferTypeNoString (6)This inventory identifer type feld is
passed during receipt consume at
item level. Valid values are found
under the Inventory Identifer Types
(IIDT) code type; for example, Lot (L),
Expiry Date (E), Import Document (D).
inventoryIdNoString (120)Holds the inventory identifer
provided on inventory transaction
messages. It is a free-form text ID
feld that will be interfaced and
displayed as a text feld.

Table 5-305 ReceiptOverages - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNoNoString (12)Specifes the unique identifer of the
purchase order.
detailsNoCollection of
Object
References a collection of Overage
Receipt Detail Information

Table 5-306 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemNoString (25)Unique identifer for the item.
overageQuantityNoNumber
(12,4)
Contains the quantity of the item
received at the location as overage,
damaged etc.
reasonCodeNoNumber (4)Contains the rejection reason code or
overage reason code.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "appointmentNo": 1,
      "receipts": [
        {
          "location": 1211,
          "orderNo": 545005,
          "referenceDocumentNo": 531121,
          "asnNo": "PO_54005_2",
          "receiptDetails": [
            {
              "item": "106400029",
              "receivedQuantity": 3,
              "receiptTransactionType": "R",
              "receiptDate": "2001-12-31",
              "externalReferenceNo": "Receipt_531121",
              "distroLocation": null,
              "containerId": null,
              "distroNo": 100000055001,
              "distroDocumentType": null,
              "toDisposition": "ATS",
              "fromDisposition": "ATS",
              "unitCost": 10,
              "shippedQuantity": 5,
              "weight": 5,
              "weightUom": "KG",
              "grossCost": 10.5,
              "itemLineNo": null,
              "inventoryIdentifierType": "L",
              "inventoryId": "5346"
            }
          ]
        }
      ],
      "receiptOverages": [
        {
          "orderNo": "545005",
          "details": [
            {
              "item": "106400029",
              "overageQuantity": 24,
              "reasonCode": 3
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Manage Stock Order Receipts

Functional Area

Inventory - Shipments and Receipts

Business Overview

This service processes receipts that Merchandising receives against transfers, and allocations received at a store, warehouse or finisher. Transfers and allocations, collectively referred to as stock orders, may be received at the bill of lading (BOL) level, where the entire shipment is received without including details, carton level, or item level.

When a transfer or allocation is received at a location, Merchandising will update the appropriate tables, including the shipment, the transfer or allocation, stock on hand, as well as other inventory buckets (e.g., in-transit). A record of the receipt is also made in the Stock Ledger.

Service Type

PUT

ReST URL

MerchIntegrations/services/inventory/shipmentsAndReceipts/stockOrder/receipts/
manage

Input Payload Details

Table 5-307 Manage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of receipt
Objectrecords.

Table 5-308 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
appointmentNoNoNumber (9)Unique identifer for receiving a
group of items.
receiptsYesCollection ofReferences a collection of transfer
Objectreceipts.

Table 5-309 Receipts - Object. See list of elements for detail

Element NameRequiredData TypeDescription
locationYesNumber (10)Indicates the location that has
processed the receipt. For stores, this
will be the store ID. For warehouses,
this will be the physical warehouse
ID.
distroNoNoNumber (12)Specifed the unique identifer of the
purchase order, allocation or
transfer.
documentTypeYesString (1)Specifed whether the receipt is for
an allocation ‘A’, purchase order ‘P’, or
transfer ‘T’. Types ‘D’ and ‘V’ are also
valid document types that are treated
the same as transfers.
asnNoNoString (30)Used to relate the receipt message to
the previous ASN message. This feld
is required for transfers and
allocations.
receiptTypeNoString (2)This feld is used in receiving
transfers or allocations to determine
if the receipt is at the BOL level (BL)
or SKU level (SK). If not provided, the
value will be defaulted to SK. It is not
used for a PO receipt.This feld is used
in receiving transfers or allocations
to determine if the receipt is at the
BOL level (BL) or SKU level (SK). If not
provided, the value will be defaulted
to SK. It is not used for a PO receipt.
fromLocationNoNumber (10)Contains the source location of the
shipment.
fromLocationTypeNoString (1)Contains the from location type of the
shipment. Valid values are W -
Warehouse, E - External Finisher and
S - Store.

Table 5-309 (Cont.) Receipts - Object. See list of elements for detail

Element NameRequiredData TypeDescription
statusNoString (1)Indicates the status of the ASN
received. This feld is used only for
stock order receiving and a status of
C indicates that the entire ASN is will
be set to closed.
receiptDetailsNoCollection of
Object
References a collection of receipt
details.
cartonsNoCollection of
Object
References a collection of container
details.

Table 5-310 ReceiptDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)Specifes the item on the allocation,
purchase order, or transfer that has
been received.
receivedQuantityYesNumber
(12,4)
Contains the quantity received for the
allocation, purchase order, or
transfer in the standard unit of
measure.
receiptTransactionTypeYesString (1)Specifes whether the receipt detail
line item is for a ‘R’eceipt,
‘T’ransshipment, or ‘A’djustment. For
purchase order receiving,
Transshipments are not allowed. For
stock order (ie. Allocation and
Transfer) receiving, Transshipments
are handled the same way as ‘R’eceipt
type.
receiptDateNodateIdentifes the date on which the
transaction was received.
externalReferenceNoYesString (17)An externally generated identifer
corresponding to the receipt of the
item at the location.
containerIdNoString (30)Identifes the carton number for
shipments originating from the
Advance Shipment Notifcation
process as carton shipments.
refContainerIdNoString (30)Identifes the original carton number
the item was shipped under, if it was
being received at the wrong
destination. This is required by
Merchandising to process the updates
correctly, as SIOCS reassigns the
container ID at the receiving location.
toDispositionNoString (4)This value is used to determine if the
inventory is available or unavailable,
based on the code’s INV_STATUS
value on the INV_STATUS_CODES
table.

Table 5-310 (Cont.) ReceiptDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fromDispositionNoString (4)This value is used to determine
inventory availability. Valid values
are in the INV_STATUS_CODES table.
The from disposition is used when
the to disposition is not provided.
weightNoNumber
(12,4)
Contains the actual weight of the item
received for the shipment. This will
be included for some catch weight
items.
weightUomNoString (4)Contains the unit of measure of the
received weight (e.g., pounds,
kilograms) where UOM class is of
type MASS. Weight and Weight UOM
must both be populated, or both must
be NULL.
dummyCartonIndNoString (1)Indicates if this carton is a dummy
carton. This feld is only used for
transfer receipts.
tamperedCartonIndNoString (1)Indicates if the carton was tampered.
This feld is only used for transfer
receipts.
inventoryIdentiferTypeNoString (6)This inventory identifer type feld is
passed during receipt consume at
item level. Valid values are found
under the Inventory Identifer Types
(IIDT) code type; for example, Lot (L),
Expiry Date (E), Import Document (D).
inventoryIdNoString (120)Holds the inventory identifer
provided on inventory transaction
messages. It is a free-form text ID
feld that will be interfaced and
displayed as a text feld.

Table 5-311 Cartons - Object. See list of elements for detail

Element NameRequiredData TypeDescription
cartonStatusNoString (1)Denotes the status of the carton
received. It can be Actual (A), Dummy
(D), Overage (O), or Closed (C). This
feld is used only for stock order
receiving. A status of C indicates that
the entire container is missing and
the missing stock will be reconciled in
RMS.
containerIdNoString (30)Contains the carton ID for the
shipment.

Table 5-311 (Cont.) Cartons - Object. See list of elements for detail

Element NameRequiredData TypeDescription
receiptTransactionTypeYesString (1)Specifes whether the receipt detail
line item is for a ‘R’eceipt,
‘T’ransshipment, or ‘A’djustment. For
purchase order receiving,
Transshipments are not allowed. For
stock order (ie. Allocation and
Transfer) receiving, Transshipments
are handled the same way as ‘R’eceipt
type.
receiptDateNodateThis feld contains the date on which
the carton is received.
externalReferenceNoNoString (17)This feld holds the externally
generated number when the
shipment is received at the location.
toDispositionNoString (4)This value is used to determine if the
inventory is available or unavailable,
based on the code’s INV_STATUS
value on the INV_STATUS_CODES
table.
weightNoNumber
(12,4)
Contains the actual weight of the item
received for the shipment. This will
be included for some catch weight
items.
weightUomNoString (4)Contains the unit of measure of the
received weight (e.g., pounds,
kilograms) where UOM class is of
type MASS. Weight and Weight UOM
must both be populated, or both must
be NULL.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "appointmentNo": 2,
      "receipts": [
        {
          "location": 1111,
          "distroNo": 100000055001,
          "documentType": "T",
          "asnNo": "ASN_11223344_2",
          "receiptType": "BL",
          "fromLocation": 2,
          "fromLocationType": "W",
          "status": null,
          "receiptDetails": [
            {
              "item": "104100022",
              "receivedQuantity": 3,
              "receiptTransactionType": "R",
              "receiptDate": "2001-12-31",
              "externalReferenceNo": "ERN_10091",
              "containerId": "CTN_1_ASN_11223344_2",
              "refContainerId": null,
              "toDisposition": "ATS",
              "fromDisposition": "ATS",
              "weight": 3,
              "weightUom": "KG",
              "dummyCartonInd": "Y",
              "tamperedCartonInd": "Y",
              "inventoryIdentifierType": "L",
              "inventoryId": "5346"
            }
          ],
          "cartons": [
            {
              "cartonStatus": "A",
              "containerId": "CTN_1_ASN_11223344_2",
              "receiptTransactionType": "R",
              "receiptDate": "2001-12-31",
              "externalReferenceNo": "ERN_10091",
              "toDisposition": "ATS",
              "weight": 3,
              "weightUom": "KG"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Get Stock Order Shipments Created in Merchandising
Functional Area
Inventory - Shipments and Receipts
Business Overview

This service publishes stock-order shipment data to downstream consuming systems. It publishes shipment transactions together with shipment lines, physical from and to fulfillment locations, customer-order and fulfillment-order references, and the published base cost. Functionally, the payload only includes shipment lines whose SHIPSKU.DISTRO_TYPE is A or T, derives fromLocation and toLocation as physical fulfillment locations, uses ORDCUST for customer-order and fulfillment-order references, and uses V_ITEM_SUPP_COUNTRY_LOC.BASE_COST for baseCost.

This service can be used to publish details of stock order (transfer or allocation) shipments that were created within the Merchandising solution, including two-legged transfers involving Finisher locations. If one or more filters of the available filters, (From Location, From Location Type, To Location, To Location Type, and/or Bill of Lading (BOL) Number), are present as input parameters, the stock order shipments published will be those matching the provided filter values.

In some retail implementations, the management of stores or warehouses are done by third party systems that are not designed to efficiently handle shipments related to vital processes such as transfers and allocations on a regular basis. For these store or warehouse locations, subscribing to this service will allow these locations to be updated with the latest inventory movement information.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: SHIPMENT, SHIPSKU

Additional business tables: ORDCUST, V_ITEM_SUPP_COUNTRY_LOC, STORE, WH, PARTNER, TSFHEAD, ALLOC_HEADER

JSON cache table: MERCHAPI_EXT_SHIPMENT

JSON generation view: not applicable; cache rows are populated directly by package logic

The JSON payload is built from SHIPMENT, SHIPSKU, ORDCUST, V_ITEM_SUPP_COUNTRY_LOC, and derived location mapping from STORE, WH, PARTNER, TSFHEAD, and ALLOC_HEADER.

The view only publishes shipment lines whose SHIPSKU.DISTRO_TYPE in (‘A’,‘T’), derives fromLocation and toLocation as physical fulfillment locations, uses ORDCUST for customerorder and fulfillment-order references, and uses

V_ITEM_SUPP_COUNTRY_LOC.BASE_COST for the published baseCost.

This API is effectively delta-only.

Initial Seeding and post enablement rebuild/repair

This API has no initial load or rebuild; the refresh step only performs API-disable handling for the cache table.

ICL (Integration Change Log) table: ICL_RMS_SHIPMENT (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on SHIPMENT and SHIPSKU.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_SHIPMENT

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_SHIPMENT_ADHOC_PROCESS MERCHAPI_EXT_SHIPMENT_ADHOC_JOB

Webhook configuration api name: inventory/shipmentsAndReceipts/stockOrder/shipment

Special handling

Additional GET query parameters: fromLoc, toLoc, fromLocType, toLocType, bolNo.

Service Type

GET

ReST URL
MerchIntegrations/services/inventory/shipmentsAndReceipts/stockOrder/shipment
Input Parameters
Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
fromLocNoNumberFrom Location
toLocNoNumberTo Location
fromLocTypeNoStringFrom Location Type
toLocTypeNoStringTo Location Type
bolNoNoStringBill of Lading (BOL)
offsetkeyNoStringOffset key
limitNoString (6)Pagination limit.
Default value is 1000.
Parameter NameRequiredData TypeDescription
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Response Code: 200 (Success)

Table 5-312 PageResultsItemsMerchApiShipment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-313 MerchApiShipment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for Shipment
details.
shipmentNoNoNumber(12,0)This feld specifes a
number that uniquely
identifes the shipment
within the system.
toLocationNoNumber(10,0)This feld specifes the
destination location of
the shipment.

Table 5-313 (Cont.) MerchApiShipment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
toLocationTypeNoString (1)This feld specifes the
location type of the
destination location of
the shipment.
fromLocationNoNumber(10,0)This feld specifes the
source location of the
shipment.
fromLocationTypeNoString (1)This feld specifes the
location type of the
source location of the
shipment.
bolNoNoString (30)This feld specifes the
Bill of Lading linked
with the shipment.
shipDateNodateThis feld specifes the
date on which the
stock order was
shipped.
cartonQuantityNoNumber(6,0)This feld specifes the
number of cartons
associated with the
shipment.
carrierCodeNoString (250)This feld specifes the
carrier associated with
the shipment.
commentsNoString (2000)This feld specifes any
comments associated
with the shipment.
createDateTimeNodateTimeThis column holds the
record creation date.
updateDateTimeNodateTimeThis column holds the
date when the record
was last updated.
detailsNoCollection of ObjectThis List holds
attributes for details of
shipment record.
cacheTimestampNodateTimeThis feld specifes
date and time when
the shipment record
was last maintained.
cacheCreateTimestam
p
NodateTimeThis feld specifes
date and time when
the record was frst
created for web
service publication.

Table 5-314 ShipmentDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
distroNoNoNumber(12,0)This feld specifes the
transfer/allocation
number associated
with the shipment.
distroDocumentTypeNoString (1)This feld specifes the
type of document
associated with the
shipment.
customerOrderNoNoString (48)This feld specifes the
linked customer order
number generated by
Order Management
System, if applicable.
This feld will be NULL
until Merchandising
UI allows shipment of
customer order
transfers.
fulfllmentOrderNoNoString (48)This feld specifes the
fulfllment order
number linked with
the customer order
number. This feld will
be NULL until
Merchandising UI
allows shipment of
customer order
transfers.
cartonsNoCollection of ObjectThis List holds
attributes for details of
cartons linked to the
shipment.

Table 5-315 ShipmentDetailsCarton - Object. See list of elements for detail

Element NameRequiredData TypeDescription
cartonNoString (30)This feld specifes
carton number
associated with the
shipment.
itemsNoCollection of ObjectThis List holds
attributes for items
present in the specifc
carton.

Table 5-316 ShipmentDetailsCartonItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemNoString (25)This feld specifes the
unique alphanumeric
value that identifes
the item.
unitQuantityNoNumber(12,4)This feld specifes the
number of items
expected to be
received for the item/
shipment
combination.
unitCostNoNumber(20,4)This feld specifes the
unit cost associated
with the item
excluding any landed
cost components.
baseCostNoNumber(20,4)This feld specifes the
base cost (BC) from
RFMCS.
weightNoNumber(12,4)This feld specifes the
actual weight of the
item.
weightUomNoString (4)This feld specifes the
unit of measure
associated with the
weight.
createDateTimeNodateTimeThis column holds the
record creation date.
updateDateTimeNodateTimeThis column holds the
date when the record
was last updated.

Table 5-317 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"shipmentNo": 1,
"toLocation": 6000,
"toLocationType": "S",
"fromLocation": 10001,
"fromLocationType": null,
"bolNo": null,
"shipDate": "2001-12-31",
"cartonQuantity": 5,
"carrierCode": "FDX",
"comments": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"details": [
{
"distroNo": 1,
"distroDocumentType": "T",
"customerOrderNo": null,
"fulfillmentOrderNo": null,
"cartons": [
{
"carton": null,
"items": [
{
"item": null,
"unitQuantity": 1.0,
"unitCost": 1.0,
"baseCost": 1.0,
"weight": 1.0,
"weightUom": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
]
}
],
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoYesNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_SHIPMENTYesYesYesYes
MERCHAPI_EXT_SHIPMENTYesYesNoYes
SHIPMENTYesNoNoNo
SHIPSKUYesNoNoNo
STOREYesNoNoNo
WHYesNoNoNo
PARTNERYesNoNoNo
V_ITEM_SUPP_COUNTRY_LOCYesNoNoNo
TSFHEADYesNoNoNo
ALLOC_HEADERYesNoNoNo
ORDCUSTYesNoNoNo
V_MERCHAPI_EXT_SHIPMENT_JSONYesNoNoNo
Update DSD Receipts

Functional Area

Inventory - Shipments and Receipts

Business Overview

This service allows to modify an existing direct store delivery (DSD) receipt within Merchandising. For more information about the DSD receipts, see the Create DSD Receipts service.

Service Type

PUT

ReST URL
MerchIntegrations/services/inventory/shipmentsAndReceipts/dsd/update
Input Payload Details

Table 5-318 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection ofReferences a collection of DSD
ObjectReceipts.

Table 5-319 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesNumber (10)
This feld contains the unique
identifying number for a supplier for
the receipt.
storeYesNumber (10)This feld contains the location where
the items were delivered.
externalReceiptNoNoString (17)This feld holds the external
transaction sequence number for the
receipt.
receiptDateNodateThis feld contains the date of the
receipt.
detailsNoCollection of
Object
References a collection of DSD
Receipt detail records.

Table 5-320 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)This feld contains the item in the
receipt. The item must be an
approved item that is at transaction
level or above.
quantityReceivedYesNumber
(12,4)
This feld contains the number of
items received for the item/shipment
combination. The value must be
greater than 0.
unitCostNoNumber
(20,4)
This feld contains the cost of the item
from the supplier/origin country in
the supplier’s currency.
weightNoNumber
(12,4)
This feld contains the weight of the
item in the receipt, if it is a catch
weight item.
weightUomNoString (4)This feld contains the unit of
measure of the received weight.
inventoryIdentiferTypeNoString (6)This inventory identifer type feld is
passed during DSD receipt message.
Valid values are found under the
Inventory Identifer Types (IIDT) code
type; for example, Lot (L), Expiry
Date (E), Import Document (D).
inventoryIdNoString (120)Holds the inventory identifer
provided on inventory transaction
messages. It is a free-form text ID
feld that will be interfaced and
displayed as a text feld.
Sample Input Message
{
  "items": [
    {
      "supplier": 2400,
      "store": 1531,
      "externalReceiptNo": "RECREF1531",
      "receiptDate": "2001-12-31",
      "details": [
        {
          "item": "100750001",
          "quantityReceived": 3,
          "unitCost": 9.65,
          "weight": 3,
          "weightUom": null,
          "inventoryIdentifierType": "L",
          "inventoryId": "5346"
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Stock Counts

The following services are included in this functional area:

  • Stock Count Download Service

    • Get Stock Count Detail
  • Stock Count Upload Service

  • Create Stock Count Schedules

  • Delete Stock Count Schedule Locations

  • Delete Stock Count Schedules

  • Update Stock Count Schedules

Stock Count Download Service

The following services are included in this functional area:

  • Get Stock Count Detail
Get Stock Count Detail

This section describes the Stock Count Detail service.

Business Overview

Stock Count Detail service allows user to retrieve open stock count details for a given item and/or store.

Service Type

Get

ReST URL
StockCount/stockCountDetail?
cycleCount={cycleCount}&locationType={locationType}&location={location}&item={
item}&stocktakeDate={stocktakeDate}&pageSize={pageSize}&pageNumber={pageNumber
}

Input Parameters

Parameter NameRequiredDescription
ItemNoItem
LocationNoLocation
Location TypeNoLocation Type
Cycle CountNoCycle Count
Stocktake DateNoStocktake Date (always optional)

Output

RestStockCountRecRDO
Parameter NameData Type
cycleCountBigDecimal
cycleCountDescString
stocktakeDateTimestamp
stocktakeTypeString
stakeSkuLocList
RestStakeSkuLocRecRDO

Parameter Name Data Type item String location BigDecimal locType String snapshotOnHandQty BigDecimal snapshotInTransitQty BigDecimal snapshotUnitCost BigDecimal snapshotUnitRetail BigDecimal processed String physicalCountQty BigDecimal packCompQty BigDecimal inTransitAmt BigDecimal depositItemType String xformItemType String distributeQty BigDecimal

JSON Structure
{
  "cycleCount":null,
  "cycleCountDesc":null,
  "stocktakeDate":null,
  "stocktakeType":null,
  "stakeSkuLoc": [
    {
      "item":null,
      "location":null,
      "locType":null,
      "snapshotOnHandQty":null,
      "snapshotInTransitQty":null,
      "snapshotUnitCost":null,
      "snapshotUnitRetail":null,
      "processed":null,
      "physicalCountQty":null,
      "packCompQty":null,
      "inTransitAmt":null,
      "depositItemType":null,
      "xformItemType":null,
      "distributeQty":null,
      "links": [],
      "hyperMediaContent": {
        "linkRDO": []
      }
    }
  ],
  "links": [],
  "hyperMediaContent": {
    "linkRDO": []
  }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
STAKE_HEADYesNoNoNo
STAKE_SKU_LOCYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Stock Count Upload Service

The following services are included in this functional area:

  • Create Stock Count Schedules

  • Delete Stock Count Schedule Locations

  • Delete Stock Count Schedules

  • Update Stock Count Schedules

Create Stock Count Schedules

Functional Area

Inventory - Stock Counts

Business Overview

Stock count schedules are published by an inventory sub-system, such as Oracle Retail Store Inventory and Operations Cloud Service (SIOCS), to communicate unit and value stock count schedules to Merchandising. This stock count schedule data helps in synchronizing the inventory values of the integrated system and Merchandising. This integrated system then performs a physical inventory count and uploads the results, and Merchandising compares the discrepancies.

This webservice allows the external systems to create Unit and Value stock count requests within Merchandising. The count is assumed to be for the full location, unless any department, class or subclass details are included.

When a new stock count request is created, this webservice will validate all the required fields that are present in the message which includes a description, date, location type and location details. The stock take type will always be B (both unit and dollar). Optionally, the merchandise hierarchy information can also be included, but, if not included, it will be assumed the entire location will be counted. After the required field and business validations are successfully completed, the stock counts will be created in Merchandising.

Service Type
POST
ReST URL
MerchIntegrations/services/inventory/stockCount/schedules/create
Availability During Nightly Batch Cycle

This service will not be available during total duration of nightly batch run cycle.

Input Payload Details

Table 5-321 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of stock count
Objectschedule records.

Table 5-322 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
cycleCountYesNumber (8)Contains the number which uniquely
identifes the stock or cycle count.
descriptionYesString (250)This feld contains a description of
the cycle or stock count which, along
with the cycle count number,
identifes the cycle or stock count.
locationTypeYesString (1)This feld contains an indicator which
identifes whether the cycle count
will be for Stores or Warehouses.
Valid values are Store (S) and
Warehouse (W).
stocktakeDateYesdateContains the date on which the stock
or cycle count even will take place.
merchandiseHierarchyNoCollection of
Object
References a collection of
merchandies hierarchies to be
included in the stock count. If not
present, all departments will be
included in the count.
locationsNoCollection of
Object
References a collection of locations to
be included in the stock count.

Table 5-323 MerchandiseHierarchy - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deptYesNumber (4)This feld contains the department
number where the cycle count will
occur. If the value = -1, the stock
count will apply to all departments.
The dept/class/subclass hierarchy
must be a valid hierarchy in
Merchandising.
classNoNumber (4)This feld contains the class number
where the cycle count will occur. The
dept/class/subclass hierarchy must be
a valid hierarchy in Merchandising.
subclassNoNumber (4)This feld contains the subclass
number where the cycle count will
occur. The dept/class/subclass
hierarchy must be a valid hierarchy
in Merchandising.

Table 5-324 Locations - Object. See list of elements for detail

Element NameRequiredData TypeDescription
locationYesNumber (10)This feld contains the store or
warehouse number on the cycle
count. This must be a valid store or a
stockholding warehouse in
Merchandising.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "cycleCount": 1001,
      "description": "Cycle count 1001",
      "locationType": "S",
      "stocktakeDate": "2001-12-31",
      "merchandiseHierarchy": [
        {
          "dept": 3041,
          "class": 1,
          "subclass": 1
        }
      ],
      "locations": [
        {
          "location": 6000
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Stock Count Schedule Locations
Functional Area

Inventory - Stock Counts

Business Overview

This webservice allows external systems to delete locations from existing stock counts within Merchandising. This validates if all the required fields are present in the message and after the required field and business validations are completed successfully, the stock count locations will be removed. If all locations in the stock count are deleted, the entire stock count will be marked for deletion.

Service Type

DELETE

ReST URL

MerchIntegrations/services/inventory/stockCount/schedule/locations/delete
Availability During Nightly Batch Cycle

This service will not be available during total duration of nightly batch run cycle.

Input Payload Details

Table 5-325 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
cycleCountYesNumber (8)Contains the number which uniquely
identifes the stock or cycle count.
locationsNoCollection of
Object
References a collection of locations to
be deleted from the stock count.

Table 5-326 Locations - Object. See list of elements for detail

Element NameRequiredData TypeDescription
locationYesNumber (10)This feld contains the store or
warehouse number on the cycle
count. This must be a valid store or a
stockholding warehouse in
Merchandising.
Sample Input Message
{
  "cycleCount": 1001,
  "locations": [
    {
      "location": 6000
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Stock Count Schedules

Functional Area

Inventory - Stock Counts

Business Overview

This webservice allows the external systems to delete stock counts from Merchandising. This webservice will validate if all the required fields are present in the message. After required field and business validation are successfully completed, the stock counts will be marked for deletion in Merchandising.

A separate webservice Delete Stock Count Schedule Locations supports deleting a location from the count.

For more details on Stock Count Schedules, see the Create Stock Count Schedule service description.

Service Type

DELETE

ReST URL
MerchIntegrations/services/inventory/stockCount/schedules/delete

Availability During Nightly Batch Cycle

This service will not be available during total duration of nightly batch run cycle.

Input Payload Details

Table 5-327 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
cycleCountYesNumber (8)Contains the number which uniquely
identifes the stock or cycle count.
Sample Input Message
{
  "cycleCount": 1001
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Update Stock Count Schedules

Functional Area Inventory - Stock Counts

Business Overview

This webservice allows external systems to modify Unit and Value stock count requests that are already present within Merchandising. When an existing stock count request is updated, this webservice will validate all the required fields that are present in the message which includes a description, date, location type, and location details. After the required field and business validations are completed successfully, the stock counts will be updated in Merchandising.

For more details on Stock Count Schedules, see the Create Stock Count Schedule service description.

Service Type

PUT

ReST URL
MerchIntegrations/services/inventory/stockCount/schedules/update
Availability During Nightly Batch Cycle

This service will not be available during total duration of nightly batch run cycle.

Input Payload Details

Table 5-328 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
cycleCountYesNumber (8)Contains the number which uniquely
identifes the stock or cycle count.
descriptionYesString (250)This feld contains a description of
the cycle or stock count which, along
with the cycle count number,
identifes the cycle or stock count.
locationTypeYesString (1)This feld contains an indicator which
identifes whether the cycle count
will be for Stores or Warehouses.
Valid values are Store (S) and
Warehouse (W).
stocktakeDateYesdateContains the date on which the stock
or cycle count even will take place.
merchandiseHierarchyNoCollection of
Object
References a collection of
merchandies hierarchies to be
included in the stock count. If not
present, all departments will be
included in the count.
locationsNoCollection of
Object
References a collection of locations to
be included in the stock count.

Table 5-329 MerchandiseHierarchy - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deptYesNumber (4)This feld contains the department
number where the cycle count will
occur. If the value = -1, the stock
count will apply to all departments.
The dept/class/subclass hierarchy
must be a valid hierarchy in
Merchandising.
classNoNumber (4)This feld contains the class number
where the cycle count will occur. The
dept/class/subclass hierarchy must be
a valid hierarchy in Merchandising.
subclassNoNumber (4)This feld contains the subclass
number where the cycle count will
occur. The dept/class/subclass
hierarchy must be a valid hierarchy
in Merchandising.

Table 5-330 Locations - Object. See list of elements for detail

Element NameRequiredData TypeDescription
locationYesNumber (10)This feld contains the store or
warehouse number on the cycle
count. This must be a valid store or a
stockholding warehouse in
Merchandising.
Sample Input Message
{
  "cycleCount": 1001,
  "description": "Cycle count 1001",
  "locationType": "S",
  "stocktakeDate": "2001-12-31",
  "merchandiseHierarchy": [
    {
      "dept": 3041,
      "class": 1,
      "subclass": 1
    }
  ],
  "locations": [
    {
      "location": 6000
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Transfers and Allocations

The following services are included in this functional area:

  • Allocation Download Service

    • Get Allocation Details for Provided Allocation

    • Get Details for an Allocation

  • Allocation Number Download Service

    • Get Next Allocation Numbers Service
  • Allocation Upload Service

    • Close Allocations

    • Create Allocation Details

    • Create Allocations

    • Delete Allocation Details

    • Update Allocation Details

    • Update Allocations

  • Allocation Corporate Rules

    • Manage Corporate Rules
  • Mobile Workflow Transfer Download Service

    • Create Transfer - Get From Locations for Transfer
  • Create Transfer - Get Items for Transfer

  • – Create Transfer - Get Next Transfer Numbers – Create Transfer - Get To Locations for Transfer – Create Transfer - Refresh Transfer Items – Create Transfer - Refresh Transfer Locations – Mobile Workflow - Get Locations on Existing Transfers – Mobile Workflow - Get Transfer Statuses – Mobile Workflow - Get Transfer Summary – Mobile Workflow - Get Transfer Types – Mobile Workflow - Get Transfer Users – Mobile Workflow - Get Transfers – Mobile Workflow - Refresh Transfer Locations

  • • Mobile Workflow Transfer Upload Service – Create Transfer – Mobile Workflow - Update Transfer Status

  • • Stock Order Status Upload Service – Manage Stock Order Status

  • • Transfer Detail Service • Transfer Download Service – Get Transfer – Get Transfer Details for Provided Transfer

  • • Transfer Upload Service – Create Book Transfer – Create Transfer Details – Create Transfers – Delete Transfer Details – Delete Transfers – Update Transfer Details

  • – Update Transfers

  • • Work Order Status Upload Service – Update Work Orders Status

  • • Work Order Download Service – Purchase Order Work Order Publish Services – Transfer Work Order Publish Services

Get Allocation Details for AIF Applications

Business Overview

The service is used to fetch all allocations from Merchandising for AIF application usage, data warehousing needs, or other downstream consuming systems. This service follows the AIF publish pattern and provides cache-backed JSON messages for consumers that need current allocation data.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and interacts with webhooks, refer to the common Publish API operational guidance.

Core business tables: ALLOC_HEADER, ALLOC_DETAIL

Additional business tables: ORDHEAD, ITEM_MASTER, WH, STORE

JSON cache table: MERCHAPI_AIF_ALLOC

JSON generation view: V_MERCHAPI_AIF_ALLOC_JSON

Builds the allocation header from ALLOC_HEADER and aggregates allocation detail rows from ALLOC_DETAIL, with order, item, warehouse, and store enrichment where applicable.

An allocation is published when it is present in the allocation JSON view and has a cacheable allocation message for AIF downstream consumption.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild pull published rows from V_MERCHAPI_AIF_ALLOC_JSON. No additional filter criteria were identified beyond the cache-build logic.

Mark cache rows deleted when the allocation no longer exists in V_MERCHAPI_AIF_ALLOC_JSON.

ICL (Integration Change Log) table: ICL_RMS_ALLOC (ICL consumer name = MERCHAPI_4)

ICL entries are created using the delivered entity map and table map for inventory/aif/ allocation. Qualifying inserts, updates, and deletes are written with change type U for cache refresh processing.

Batch Configuration. Background-engine execution is the delivered asynchronous option for this API.

Process configuration name: API_AIF_ALLOC

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM batch scheduler based delta processing is not supported for this API.

Webhook configuration api name: inventory/aif/allocation

Special handling:

Additional GET query parameters: allocNo.

Performance Considerations

For customers expecting high to very high publish volume from this API, sizing and operational tuning should be addressed early in the implementation lifecycle. Initial cache seeding, ongoing delta processing, full extracts, and incremental downloads or webhook-driven delivery have different runtime profiles.

Multi-threading and commit control

This service supports multi-threaded execution for both initial seeding and delta processing. Thread count is controlled through API_NO_OF_THREADS, and commit sizing is controlled through API_COMMIT_MAX_COUNTER. Choose these settings together based on expected row volume, average message size, and the SQL cost of building each JSON message.

Dropping indexes and constraints during seeding

DROP_INDEX_ON_REFRESH applies only to initial seeding, including truncate-and-load execution. When enabled, indexes and constraints are dropped before seeding and rebuilt after the load completes. GATHER_STATS_ON_REFRESH should normally remain enabled unless implementation testing shows a specific reason to change it.

REST fetch considerations

Select REST page size based on average payload size so the average response remains below about 10 MB per call. For full downloads, omit the since query parameter. For delta downloads, use a short time window; wider outage or recovery windows should be handled through smaller polling windows, using optimalBefore where applicable.

Input Parameters
Response Code: 200 (Success)

PageResultsItemsMerchApiAifAlloc - Object. See list of elements for detail

MerchApiAifAlloc - Object. See list of elements for detail aifAllocDetails - Object. See list of elements for detail

LinkItems - Object. See list of elements for detail

Sample Response Message
{
  "items": [
    {
      "action": "INSERT",
      "allocNo": 10010001,
      "orderNo": 464690012,
      "item": "100000001",
      "allocStatus": "A",
      "poType": "4000",
      "allocMethod": "M",
      "releaseDate": "2001-12-31",
      "warehouse": 1001,
      "allocDesc": "AIF allocation",
      "createDateTime": "2001-12-31T10:15:30Z",
      "updateDateTime": "2001-12-31T10:15:30Z",
      "details": [
        {
          "toLocation": 101,
          "toLocationType": "S",
          "quantityAllocated": 24,
          "quantityTransferred": 0,
          "quantityCancelled": 0,
          "quantityReceived": 0,
          "inStoreDate": "2001-12-31"
        }
      ]
    }
  ],
  "hasMore": false,
  "limit": 1,
  "count": 1,
  "links": []
}

Get Transfer Details for AIF Applications

Business Overview

The service is used to fetch all transfers from Merchandising for AIF application usage, data warehousing needs, or other downstream consuming systems. This service follows the AIF publish pattern and provides cache-backed JSON messages for consumers that need current transfer data.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and interacts with webhooks, refer to the common Publish API operational guidance.

Core business tables: TSFHEAD, TSFDETAIL

Additional business tables: ITEM_MASTER, STORE, WH, PARTNER

JSON cache table: MERCHAPI_AIF_TRANSFER

JSON generation view: V_MERCHAPI_AIF_TRANSFER_JSON

Builds the transfer header from TSFHEAD and aggregates detail rows from TSFDETAIL, with source and destination location enrichment for stores, warehouses, internal finishers, and external finishers.

A transfer is published when it is present in the transfer JSON view and has a cacheable transfer message for AIF downstream consumption.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild pull published rows from V_MERCHAPI_AIF_TRANSFER_JSON. No additional filter criteria were identified beyond the cache-build logic.

Mark cache rows deleted when the transfer no longer exists in V_MERCHAPI_AIF_TRANSFER_JSON.

ICL (Integration Change Log) table: ICL_RMS_TRANSFER (ICL consumer name = MERCHAPI_4)

ICL entries are created using the delivered entity map and table map for inventory/aif/transfer. Qualifying inserts, updates, and deletes are written with change type U for cache refresh processing.

Batch Configuration. Background-engine execution is the delivered asynchronous option for this API.

Process configuration name: API_AIF_TRANSFER

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM batch scheduler based delta processing is not supported for this API.

Webhook configuration api name: inventory/aif/transfer

Special handling:

Additional GET query parameters: transferNo, fromLocation, toLocation.

Performance Considerations

For customers expecting high to very high publish volume from this API, sizing and operational tuning should be addressed early in the implementation lifecycle. Initial cache seeding, ongoing delta processing, full extracts, and incremental downloads or webhook-driven delivery have different runtime profiles.

Multi-threading and commit control

This service supports multi-threaded execution for both initial seeding and delta processing. Thread count is controlled through API_NO_OF_THREADS, and commit sizing is controlled through API_COMMIT_MAX_COUNTER. Choose these settings together based on expected row volume, average message size, and the SQL cost of building each JSON message.

Dropping indexes and constraints during seeding

DROP_INDEX_ON_REFRESH applies only to initial seeding, including truncate-and-load execution. When enabled, indexes and constraints are dropped before seeding and rebuilt after the load completes. GATHER_STATS_ON_REFRESH should normally remain enabled unless implementation testing shows a specific reason to change it.

REST fetch considerations

Select REST page size based on average payload size so the average response remains below about 10 MB per call. For full downloads, omit the since query parameter. For delta downloads, use a short time window; wider outage or recovery windows should be handled through smaller polling windows, using optimalBefore where applicable.

Input Parameters
Response Code: 200 (Success)

PageResultsItemsMerchApiAifTransfer - Object. See list of elements for detail

MerchApiAifTransfer - Object. See list of elements for detail

aifTransferDetails - Object. See list of elements for detail

LinkItems - Object. See list of elements for detail

Sample Response Message
{
  "items": [
    {
      "action": "INSERT",
      "transferNo": 30030001,
      "fromLocationType": "W",
      "fromLocation": 1001,
      "toLocationType": "S",
      "toLocation": 101,
      "transferType": "MR",
      "deliveryDate": "2001-12-31",
      "transferStatus": "A",
      "orderNo": 464690012,
      "createDateTime": "2001-12-31T10:15:30Z",
      "updateDateTime": "2001-12-31T10:15:30Z",
      "details": [
        {
          "transferSeqNo": 1,
          "item": "100000001",
          "transferQuantity": 24,
          "shipQuantity": 0,
          "receivedQuantity": 0,
          "cancelledQuantity": 0,
          "transferPrice": 12.5,
          "transferCost": 10.0
        }
      ]
    }
  ],
  "hasMore": false,
  "limit": 1,
  "count": 1,
  "links": []
}

Update Transfer Price for Intercompany Allocations

Functional Area

Inventory - Transfers and Allocations

Business Overview

This service is used to define and update the transfer price for intercompany allocations prior to the first shipment of an allocation. It enables users to override the default Weighted Average Cost (WAC) and explicitly specify transfer prices at either the allocation level or for specific destination locations within an allocation.

The available inputs for this service are allocation number, default transfer price, clear default transfer price flag, destination location, destination location type, and transfer price. The service processes requests to update transfer prices only for allocations that exist and have not yet undergone shipment processing.

The service provides the ability to accept a collection of allocation records and corresponding destination-level details from an external system or source to update transfer pricing for intercompany movements. Transfer prices can be applied globally across all eligible locations within an allocation or selectively for specific destination locations.

The service will attempt to process the request as a new update request. Success or failure of the operation will be returned as part of the response object.

When a default transfer price is provided at the header level, the service will update all intercompany destination locations within the allocation with the specified value.

When destination location details are provided, the service will update transfer prices only for the specified intercompany locations matching the allocation and location type.

When the clear default transfer price flag is set to ‘Y’, the service will remove any previously defined transfer prices for all intercompany locations within the allocation, provided the default transfer price is sent as NULL.

The service will only allow updates prior to the first shipment (i.e., when no quantity has been transferred.

Service Type

PUT

ReST URL

MerchIntegrations/services/inventory/allocation/transferPrice/update

Input Payload Details

Update - Object. See list of elements for detail

Items - Object. See list of elements for detail

Details - Object. See list of elements for detail UpdateError - Object. See list of elements for detail

Sample Input Message
{
   "collectionSize": 1000,
   "items": [
      {
         "allocationNo": 10002,
         "defaultTransferPrice": 20,
         "clearTransferPrice": "N",
         "details": [
            {
               "toLocation": 9625519,
               "toLocationType": "S",
               "transferPrice": 10
            }
         ]
      }
   ]
}
Response Code: 200 (Success)

UpdateResponse - Object. See list of elements for detail

Allocations - Object. See list of elements for detail

Sample Response Message
{
"allocations": [
{
"allocationNo": 10002
}
]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

UpdateError - Object. See list of elements for detail

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
],
"businessError": [
{
"allocationNo": 10002,
"toLocation": 9625519,
"toLocationType": "S",
"errorMessage": [
"String"
]
}
]
}

Allocation Download Service

The following services are included in this functional area:

  • Get Allocation Details for Provided Allocation

  • Get Details for an Allocation

Get Allocation Details for Provided Allocation

Endpoint

MerchIntegrations/services/inventory/allocation
MerchIntegrations/services/inventory/allocation/{allocNo}
Functional Area

Inventory - Transfers and Allocations

Business Overview

This service publishes allocation data to downstream consuming systems. It covers allocations that still exist in Merchandising and have at least one publishable destination row, where the destination is either a store or a warehouse on a different physical warehouse from the source; same-physical-warehouse warehouse destinations are excluded. The payload provides the allocation header together with qualifying destination details, related order context, pick window dates, ticket information, and supported pack-component detail.

Merchandising is responsible for communicating allocation information with external systems such as a store inventory system (SIOCS, for example) and a warehouse management system, like Oracle WMS Cloud.

There are several ways in which allocation information can be created in Merchandising:

Via integration with the Allocation Cloud Service

Via Merchandising replenishment, where cross dock orders generate allocations

Via the Allocation Subscription API, where a third-party system can create allocations and send to Merchandising for execution.

Allocations can be created from a virtual warehouse to any type of stockholding location in Merchandising, including other virtual warehouses, and to both company and franchise stores. Allocations include a store type and stockholding indicator at the detail level when allocating to stores, to allow the store and warehouse inventory management system to filter out the data irrelevant to their respective systems. When allocating to a franchise store, the linked franchise orders are not published; only the allocation itself is published. When allocating to another warehouse, the allocation quantities are summed up to the physical warehouse level and the physical warehouse is what is communicated in the integration.

Allocations in Approved, Closed or Deleted status can be retrieved by this service.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: ALLOC_HEADER, ALLOC_DETAIL

Additional business tables: WH, ORDHEAD, ITEM_MASTER, ITEM_LOC, STORE, ITEM_TICKET, PACKITEM_BREAKOUT, V_CODE_DETAIL_TL

JSON cache table: MERCHAPI_EXT_ALLOC

JSON generation view: V_MERCHAPI_EXT_ALLOC_JSON

The current JSON view builds the header from ALLOC_HEADER, derives source-warehouse enrichment from WH, uses ORDHEAD and V_CODE_DETAIL_TL to calculate the pick-notbefore and pick-not-after dates, derives ticket type from ITEM_TICKET, and builds detail rows from ALLOC_DETAIL, ITEM_LOC, STORE, WH, and PACKITEM_BREAKOUT.

Functionally, it publishes allocations that still exist in Merchandising and have at least one qualifying destination detail row, where the destination is either a store or a warehouse on a different physical warehouse from the source; same-physical-warehouse warehouse destinations are excluded.

The view itself does not apply a direct allocation-status filter, so eligibility is determined by those destination rules, while delta staging begins when an allocation first becomes approved and then continues for qualifying header and detail changes.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_EXT_ALLOC_JSON and therefore publish only allocations that still have at least one qualifying destination detail row, where the destination is either a store or a warehouse on a different physical warehouse from the source.

Mark cache rows deleted when the allocation no longer exists in ALLOC_HEADER.

ICL (Integration Change Log) table: ICL_RMS_ALLOC (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on ALLOC_HEADER and ALLOC_DETAIL.

ICL detail publication only when the related header status is A, the destination is publishable, and detail inserts satisfy QTY_TRANSFERRED 0.

ICL insert when the allocation is inserted in status A or changes to status A; ICL update when header publication logic fires for status A or C or a release-date change; ICL delete on header delete.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_ALLOC

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_ALLOCATION_ADHOC_PROCESS MERCHAPI_EXT_ALLOCATION_ADHOC_JOB

Webhook configuration api name: inventory/allocation

Performance Considerations

For customers expecting high to very high publish volume from this API, sizing and operational tuning should be addressed early in the implementation lifecycle. Initial cache seeding, ongoing delta processing, full extracts, and incremental downloads or webhook-driven delivery have different runtime characteristics and should be evaluated separately. Because this service builds allocation messages from multiple base and supporting tables, including destinationeligibility logic and pack detail, the available configuration should be validated against the customer production allocation profile, with the key performance-related configuration for this service covering the following:

Multi-threading and commit control

This service supports multi-threaded execution for both initial seeding and delta processing. Thread count is controlled through API_NO_OF_THREADS, commit sizing through API_COMMIT_MAX_COUNTER, and long-running initial seeding can also be segmented through API_EXEC_SECONDS.

Thread and commit settings should be chosen together based on expected row volume, average message size, and the complex SQL query required to build the message from multiple base and supporting tables. Common starting points for large-volume runs are 8, 16, or 32 threads. Values of 48 or 64 threads should be considered only after testing and with awareness of competing workload in the environment.

API_COMMIT_MAX_COUNTER should be sized together with the thread setting. Typical values range from about 1,000 rows and can extend to 10,000. If the number of details line for allocation will be very high, start with smaller commit counter and then go up to see best throughput.

API_EXEC_SECONDS is mainly relevant for initial seeding. A value of about 30 minutes helps the batch pause and resume cleanly so tuning changes can be applied between runs if needed.

Dropping indexes and constraints during seeding

This option applies only to initial seeding, including truncate-and-load execution. When thread and commit settings are high, concurrent inserts can increase index maintenance overhead and slow the load.

To reduce that overhead, DROP_INDEX_ON_REFRESH can be enabled so indexes and constraints are dropped before seeding and rebuilt after the load completes. GATHER_STATS_ON_REFRESH should normally remain enabled unless testing shows a specific reason to change it.

REST fetch considerations

REST page size should be selected based on average payload size so the average response remains below about 10 MB per call. Common page-limit values are 500, 1,000, 5,000, or 10,000 rows and this should be selected based on average number of details lines in the allocation.

For full downloads, do not provide the since query parameter so the database can favor the primary-key access path. For delta downloads, use a small time window, typically a few minutes and at most a few hours, so the eligible row set on the LAST_UPDATE_DATETIME index remains small.

Wider delta windows, especially multi-day windows that can arise during outages or data recovery, generally do not perform well. For such scenarios, keeping BUILD_HISTOGRAM enabled allows the service to support recovery through smaller, more selective polling windows using the optimalBefore query parameter.

In this catch-up pattern, for requests up to 30 days in the past, the client provides optimalBefore and leaves before empty. The client then uses the returned before timestamp to continue polling incrementally until the backlog is cleared, and then resumes the normal shortwindow delta pattern. Hourly histogram processing groups LAST_UPDATE_DATETIME values into buckets of 10,000 rows in MERCHAPI_TIMESTAMP_HISTOGRAM using the shared HISTOGRAM_ROW_COUNT configuration.

Service Type
GET
ReST URL

MerchIntegrations/services/inventory/allocation

MerchIntegrations/services/inventory/allocation/{allocNo}

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoStringOffset key
limitNoString (6)Pagination limit.
Default value is 1000.
optimalBeforeNoStringEnables histogram-
based calculation of
the before timestamp
when before is not
provided. Valid values
are Y or N. Default
value is N.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-331 Input Parameter for “MerchIntegrations/services/inventory/allocation/ {allocNo}“

Parameter NameRequiredData TypeDescription
allocNoYesNumber
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-332 PageResultsItemsMerchApiAllocation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-333 MerchApiAllocation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for allocation
details.
allocNoNoNumber(10,0)This feld specifes the
number that uniquely
identifes the
allocation within the
system.
docTypeNoString (1)This feld specifes that
this document is of
type allocation. This
feld is defaulted to A.
physicalWarehouseNoNumber(10,0)This feld specifes the
number that is used to
identify the physical
warehouse for a
virtual warehouse.
warehouseNoNumber(10,0)This feld specifes the
number that uniquely
identifes the
warehouse.
itemNoString (25)This feld specifes the
unique alphanumeric
value that identifes
the item.

Table 5-333 (Cont.) MerchApiAllocation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
pickNotBeforeDateNodateThis feld specifes the
frst date on which the
allocation should be
released from the
warehouse for
delivery to the store
locations.
pickNotAfterDateNodateThis feld specifes the
last date on which the
allocation should be
released from the
warehouse for
delivery to the store
locations.
orderTypeNoString (9)This feld specifes the
type of the order.
Allocations created
against purchase
orders will be marked
as PREDIST order
types. Allocations
created against
warehouse stock will
be populated with the
DEFAULT_ORDER_TYP
E from the
SYSTEM_OPTIONS
table, which can be
AUTOMATIC,
MANUAL, or WAVE.
orderNoNoNumber(12,0)This feld specifes the
order number to
which the allocation
applies.
orderDocTypeNoString (1)This feld specifes the
order type and is
defaulted to P.
priorityNoNumber(1,0)This feld is currently
defaulted to 1.
ticketTypeIdNoString (4)This feld uniquely
identifes the ticket
type that is associated
with the item.
contextTypeNoString (6)This feld specifes the
functional area code to
which the allocation
relates, for example,
Promotions. Valid
values are defned in
the CNTX code type.

Table 5-333 (Cont.) MerchApiAllocation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
contextValueNoString (25)This feld specifes the
value relating to the
context type, for
example, Promotion
Number.
allocStatusNoString (1)This feld specifes the
status of the allocation.
poTypeNoString (4)This feld specifes the
value associated with
the PO_TYPE for the
order.
allocMethodNoString (1)This feld specifes the
preferred allocation
method, which is used
to distribute goods
when the stock
received at a
warehouse cannot
immediately fll all
requested allocations
to stores. Valid values
are A - Allocation
quantity based, P -
Prorate method, and C
- Custom.
releaseDateNodateThis feld specifes the
date on which the
allocation should be
released from the
warehouse for
delivery to the store
locations.
documentNoNoString (30)This feld specifes the
ASN or BOL number
for an ASN- or BOL-
sourced allocation.
This will be populated
for the product source
of the tier-one
allocation.
documentTypeNoString (5)This feld contains the
type of allocation
product source. Valid
values are ASN, TSF,
BOL, or ALLOC. When
this feld is null, the
source is assumed to
be a purchase order or
warehouse inventory
if no purchase order
number is provided.

Table 5-333 (Cont.) MerchApiAllocation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
sourceParentAllocIdNoNumber(15,0)This feld contains the
parent allocation
identifer from the
source system that
interfaced the
allocation to
merchandising after
splitting at item level.
allocDescNoString (300)This feld specifes the
description of the
allocation.
commentDescNoString (2000)This feld specifes
additional information
concerning the
allocation.
originIndNoString (6)This feld identifes the
origin point of the
allocation. Valid values
are AIP, EG, RMS, and
ALC.
closeDateNodateThis feld specifes the
date when the
allocation is closed.
createDateTimeNodateTimeThis column holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis column holds the
date and time when
the record was last
updated (UTC).
detailsNoCollection of ObjectThis list holds
attributes for
allocation detail
records.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the allocation record
was last picked for
publication
processing.
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication.

Table 5-334 AllocationDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
physicaltoLocationNoNumber(10,0)This feld specifes the
physical warehouse of
a virtual warehouse.
The store ID is
populated when the to
location is a store.
toLocationNoNumber(10,0)This feld specifes the
location to which the
allocation is being
sent.
locationTypeNoString (1)This feld specifes the
type of location in the
location feld. Valid
values are Store and
Warehouse.
storeTypeNoString (6)This feld specifes
whether the store is a
company or franchise
store and is not
populated in the case
of a warehouse.
stockholdingIndNoString (1)This feld specifes
whether the store can
hold stock. In a non-
multichannel
environment, this feld
is defaulted to Y. It is
not populated in the
case of a warehouse.
quantityAllocatedNoNumber(12,4)This column contains
the total number of
items allocated.
priceNoNumber(20,4)This feld specifes the
unit retail price in the
selling unit retail.
sellingUomNoString (4)This feld specifes the
selling unit of measure
for an item.
priorityNoNumber(1,0)This feld is defaulted
to 1.
storeOrderMultipleNoString (1)This column contains
the multiple in which
the item needs to be
shipped from a
warehouse to the
location.
inStoreDateNodateThis feld contains the
date to be included in
the publication for
communication to the
warehouse.

Table 5-334 (Cont.) AllocationDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
rushFlagNoString (1)This feld contains the
rush fag indicator to
be included in the
publication for
communication to the
warehouse.
quantityTransferredNoNumber(12,4)This column contains
the number of items
that have already been
transferred under this
allocation.
quantityPrescaledNoNumber(12,4)This column contains
the allocation quantity
(system generated or
manually generated)
for the item/location
before order scaling
processing was
performed.
quantityDistroNoNumber(12,4)This column contains
the fnal quantity that
the external system
plans on flling.
quantitySelectedNoNumber(12,4)This column contains
the initial quantity
that the external
system plans on flling.
quantityCancelledNoNumber(12,4)This column contains
the quantity that was
left to be allocated
when the line item
was cancelled.
quantityReceivedNoNumber(12,4)This column contains
the quantity of the
item that has been
received at the to
location on the
allocation.
quantityReconciledNoNumber(12,4)This column contains
the quantity received
at another location for
this allocated item.
poReceivedQtyNoNumber(12,4)This column tracks the
quantity received
against a cross-docked
order. It is only used to
distribute unallocated
quantities that are
received in a physical
warehouse.

Table 5-334 (Cont.) AllocationDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nonScaleIndNoString (1)This column
determines whether
the item/location
allocation quantity
should not be scaled
during the order
scaling process.
franchiseOrderNoNoNumber(10,0)This feld holds the
franchise order
number to which this
allocation detail line is
linked.
createDateTimeNodateTimeThis column holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis column holds the
date and time when
the record was last
updated (UTC).
detailsTicketNoCollection of ObjectThis list holds
attributes for
allocation detail ticket
records.

Table 5-335 AllocationDetailsTicket - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentItemNoString (25)This feld specifes the
alphanumeric value
that identifes the
component item
within the pack.
componentPriceNoNumber(20,4)This feld specifes the
unit retail price in the
selling unit retail of
the component item
within the pack.
componentSellingUomNoString (4)This feld specifes the
selling unit of measure
for a component item
within the pack.

Table 5-336 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL

Table 5-336 (Cont.) LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"allocNo": 102881222,
"docType": null,
"physicalWarehouse": 1,
"warehouse": 10001,
"item": "2147483647",
"pickNotBeforeDate": "2001-12-31",
"pickNotAfterDate": "2001-12-31",
"orderType": null,
"orderNo": 585036,
"orderDocType": null,
"priority": 1,
"ticketTypeId": "TKT1",
"contextType": "PROM",
"contextValue": "79890",
"allocStatus": "A",
"poType": null,
"allocMethod": null,
"releaseDate": "2001-12-31",
"documentNo": null,
"documentType": null,
"sourceParentAllocId": 225414,
"allocDesc": "Allocation to 1311.",
"commentDesc": null,
"originInd": "EG",
"closeDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"details": [
{
"physicaltoLocation": 1,
"toLocation": 6000,
"locationType": "S",
"storeType": "C",
"stockholdingInd": "Y",
"quantityAllocated": 3,
"price": 1.0,
"sellingUom": "EA",
"priority": 1,
"storeOrderMultiple": "E",
"inStoreDate": "2001-12-31",
"rushFlag": null,
"quantityTransferred": 1.0,
"quantityPrescaled": 1.0,
"quantityDistro": 1.0,
"quantitySelected": 1.0,
"quantityCancelled": 1.0,
"quantityReceived": 1.0,
"quantityReconciled": 1.0,
"poReceivedQty": 1.0,
"nonScaleInd": null,
"franchiseOrderNo": 1,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"detailsTicket": [
{
"componentItem": null,
"componentPrice": 1.0,
"componentSellingUom": null
}
]
}
],
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_ALLOCYesNoYesYes
TABLESELECTINSERTUPDATEDELETE
MERCHAPI_EXT_ALLOCYesYesYesNo
V_MERCHAPI_EXT_ALLOC_JSONYesNoNoNo
SYSTEM_OPTIONSYesNoNoNo
Get Details for an Allocation

This section describes the Allocation Detail service.

Business Overview

Allocation Detail service allows user to retrieve Allocation information for a selected allocation number.

Service Type

Get

ReST URL

Alloc/allocDetail?allocNumber={allocationNumber}

Input Parameters

Parameter NameRequiredDescription
allocNumberYesAllocation Number

Output

RestAllocRecRDO
Parameter NameData Type
alloc_noBigDecimal
order_noBigDecimal
whBigDecimal
itemString
statusString
alloc_descString
po_typeString
alloc_methodString
release_dateDate
order_typeString
docString
doc_typeString
origin_indString
close_dateDate
alloc_detailList
RestAllocDetailRecRDO

Parameter Name Data Type to_loc BigDecimal to_loc_type String qty_transferred BigDecimal qty_allocated BigDecimal qty_prescaled BigDecimal qty_distro BigDecimal qty_selected BigDecimal qty_cancelled BigDecimal qty_received BigDecimal qty_reconciled BigDecimal po_rcvd_qty BigDecimal non_scale_ind String in_store_date Date wf_order_no BigDecimal rush_flag String

JSON Structure
[
  {
    "docType": null,
    "allocDetail": [
      {
        "qtyTransferred": null,
        "rushFlag": null,
        "wfOrderNo": null,
        "inStoreDate": null,
        "qtyAllocated": null,
        "nonScaleInd": null,
        "toLoc": null,
        "qtyPrescaled": null,
        "toLocType": null,
        "qtyDistro": null,
        "qtySelected": null,
        "qtyReceived": null,
        "qtyCancelled": null,
        "qtyReconciled": null,
        "poRcvdQty": null,
        "links": [],
        "hyperMediaContent": {
          "linkRDO": []
        }
      }
    ],
    "doc": null,
    "originInd": null,
    "allocNo": null,
    "wh": null,
    "allocMethod": null,
    "allocDesc": null,
    "poType": null,
    "item": null,
    "status": null,
    "orderNo": null,
    "orderType": null,
    "releaseDate": null,
    "closeDate": null,
    "links": [],
    "hyperMediaContent": {
      "linkRDO": []
    }
  }
]
Table Impact
TABLESELECTINSERTUPDATEDELETE
ALLOC_HEADERYesNoNoNo
ALLOC_DETAILYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Allocation Number Download Service

The following services are included in this functional area:

  • Get Next Allocation Numbers Service
Get Next Allocation Numbers Service
Business Overview

This service retrieves next available allocation numbers from Merchandising. This service takes an optional query parameter of count to retreive multiple (up to 999 ) allocation numbers. The count defaults to 1 if the query parameter is not provided.

Service Type
GET
ReST URL
/Alloc/allocNo
Input Parameters
Parameter NameRequiredDescription
CountNoCount (1-999) of allocation
numbers to be fetched. Default
value is1.
Output
Parameter NameData TypeDetails
allocNoNumberDeprecated (Use
allocNumbers) as this service
has been enhanced to return
multiple allocation numbers.
This feld will contain the frst
allocation number from the
allocNumberslist.
allocNumbersArrayContains list of available
allocation numbers.
JSON Structure:
{
  "allocNo": 123456,
  "allocNumbers": [123456,123457]
}
Table Impact
N/A

Allocation Upload Service

The following services are included in this functional area:

  • Close Allocations

  • Create Allocation Details

  • Create Allocations

  • Delete Allocation Details

  • Update Allocation Details

  • Update Allocations

Close Allocations

Functional Area

Inventory - Transfers and Allocations

Business Overview

This service can be used to close allocations within Merchandising from an external system. After successfully validating the information in the message, the header level record is updated to the Closed (C) status.

Service Type

PUT

ReST URL
MerchIntegrations/services/inventory/allocations/close
Input Payload Details

Table 5-337 Close - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of
Object
References a collection of allocations.

Table 5-338 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
allocationNoYesNumber (10)Contains the unique identifer of the
allocation. This should fall within the
range of Merchandising IDs already
designated for allocations.
Sample Input Message
{
  "items": [
    {
      "allocationNo": 102881222
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message

{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}
Create Allocation Details

Functional Area

Inventory - Transfers and Allocations

Business Overview

This service can be used to create detail level records for one or more allocations within Merchandising from an external application. This would add new destination locations to the items that are already present in existing allocations.

Service Type

POST

ReST URL
MerchIntegrations/services/inventory/allocation/details/create
Input Payload Details

Table 5-339 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection ofReferences a collection of allocations.
Object

Table 5-340 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
allocationNoYesNumber (10)Contains the unique identifer of the
allocation. This should fall within the
range of Merchandising IDs already
designated for allocations.
allocationDescriptionYesString (300)Contains the user defned description
of the allocation.
orderNoNoNumber (12)Contains the purchase order with
which the allocation is associated.
Only used if the source for the
allocation is a purchase order.
itemYesString (25)Contains the transaction level item
that is being allocated.
fromLocationYesNumber (10)Contains the location that is the
source of the allocation. This must be
a valid stockholding virtual
warehouse.

Table 5-340 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
documentNoNoString (30)Contains identifcation number for a
transfer, another allocation, bill of
landing number (BOL), or advanced
shipping notice (ASN) number for a
purchase order. This feld is
populated according to
documentation type and indicates
where the inventory for the
allocation should be sourced. This
should be null if the source for the
allocation is warehouse inventory or
a purchase order.
documentTypeNoString (5)Contains the type of allocation
product source. Valid values are ASN,
Transfer (TSF), Bill of Lading (BOL),
or Allocation (ALLOC). When this is
passed in as null, the source is
assumed to be a PO or warehouse
inventory if not PO number provided.
detailsNoCollection of
Object
References a collection of allocation
details.

Table 5-341 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
toLocationYesNumber (10)Contains the destination location of
the allocation. This must be an active
stockholding store or virtual
warehouse.
toLocationTypeYesString (1)Contains the type of the destination
location. Valid values are S (store)
and W (warehouse).
quantityAllocatedYesNumber
(12,4)
Contains the allocated quantity of the
item for the destination location.
When the allocation is being created
this value must be a positive integer.
If this value is being modifed, it will
contain the quantity adjusted
(positive or negative), rather than an
override value.
inStoreDateNodateContains the date the item is to be in
store. This date will be included in
the Merchandising publication for
communication to the warehouse.
Sample Input Message
{
  "items": [
    {
      "allocationNo": 102881222,
      "allocationDescription": "Allocation to 1311.",
      "orderNo": 585036,
      "item": "2147483647",
      "fromLocation": 10001,
      "documentNo": null,
      "documentType": null,
      "details": [
        {
          "toLocation": 6000,
          "toLocationType": "S",
          "quantityAllocated": 3,
          "inStoreDate": "2001-12-31"
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}
Create Allocations

Functional Area

Inventory - Transfers and Allocations

Business Overview

This service can be used to create allocations within Merchandising from an external system. Allocations created or updated using this API include those that are based on warehouse inventory, as well as those using inventory from another transaction such as a purchase order, another allocation, a transfer, or a shipment (Vendor ASN or BOL). When allocating using something other than warehouse inventory, the ID of the transaction must also be included as part of the message.

Allocations can involve both stockholding and non-stockholding locations. This includes the ability to process allocations to both stockholding and non-stockholding company and franchise stores, as well as any stockholding warehouse locations, except internal finishers. If an allocation for a franchise store is received, Merchandising will also create a corresponding franchise order. This API supports multiple types of destination locations (warehouses as well as stores) as part of the detail section within the same message.

The release date for the allocation cannot be earlier than the release date of the document (ASN/BOL/ALLOC/TSF/PO) which it is based on. The requested total allocation quantity for an item cannot exceed the quantity available to allocate from the source location or the document it is based on.

The Oracle Retail Allocation Cloud Service does not use this API to interface allocations to Merchandising.

Service Type

POST

ReST URL

MerchIntegrations/services/inventory/allocations/create
Input Payload Details

Create - Object. See list of elements for detail

Items - Object. See list of elements for detail

Details - Object. See list of elements for detail

CreateError - Object. See list of elements for detail

Response Code: 200 (Success)

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessErrors” will be present if the payload passes schema validation but exception is caught while processing business logic. The element businessErorr will be present but deprecated.

CreateError - Object. See list of elements for detail

Delete Allocation Details

Functional Area

Inventory - Transfers and Allocations

Business Overview

This service can be used to remove detail level data from one or more allocations within Merchandising from an external system. On successful validation of the information present in the message, the detail level records are deleted from the database.

Service Type

DELETE

ReST URL

MerchIntegrations/services/inventory/allocation/details/delete

Input Payload Details

Table 5-342 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of
Object
References a collection of allocations.

Table 5-343 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
allocationNoYesNumber (10)Contains the unique identifer of the
allocation. This should fall within the
range of Merchandising IDs already
designated for allocations.
detailsNoCollection of
Object
References a collection of allocation
details

Table 5-344 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
toLocationYesNumber (10)Contains the destination location of
the allocation. This must be an active
stockholding store or virtual
warehouse.
toLocationTypeYesString (1)Contains the type of the destination
location. Valid values are S (store)
and W (warehouse).
Sample Input Message
{
  "items": [
    {
      "allocationNo": 102881222,
      "details": [
        {
          "toLocation": 1311,
          "toLocationType": "S"
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}
Update Allocation Details

Functional Area

Inventory - Transfers and Allocations

Business Overview

This service allows an external application modify details on one or more allocations at a time within Merchandising. If modifying an existing location, Merchandising assumes the passed in quantity is an adjustment to the current quantity as opposed to an overwrite. The service verifies the allocation is not in-transit, received, nor in progress and that the quantity does not fall to zero or below.

For more information about allocation, see the Create Allocation Service.

Service Type

PUT
ReST URL
MerchIntegrations/services/inventory/allocation/details/update
Input Payload Details

Table 5-345 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection of
Object
References a collection of allocations.

Table 5-346 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
allocationNoYesNumber (10)Contains the unique identifer of the
allocation. This should fall within the
range of Merchandising IDs already
designated for allocations.
orderNoNoNumber (12)Contains the purchase order with
which the allocation is associated.
Only used if the source for the
allocation is a purchase order.
itemYesString (25)Contains the transaction level item
that is being allocated.
fromLocationYesNumber (10)Contains the location that is the
source of the allocation. This must be
a valid stockholding virtual
warehouse.
documentNoNoString (30)Contains identifcation number for a
transfer, another allocation, bill of
landing number (BOL), or advanced
shipping notice (ASN) number for a
purchase order. This feld is
populated according to
documentation type and indicates
where the inventory for the
allocation should be sourced. This
should be null if the source for the
allocation is warehouse inventory or
a purchase order.
documentTypeNoString (5)Contains the type of allocation
product source. Valid values are ASN,
Transfer (TSF), Bill of Lading (BOL),
or Allocation (ALLOC). When this is
passed in as null, the source is
assumed to be a PO or warehouse
inventory if not PO number provided.
detailsNoCollection of
Object
References a collection of allocation
details.

Table 5-347 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
toLocationYesNumber (10)Contains the destination location of
the allocation. This must be an active
stockholding store or virtual
warehouse.

Table 5-347 (Cont.) Details - Object. See list of elements for detail

Element Name
Required
Data TypeDescription
toLocationType
Yes
String (1)Contains the type of the destination
location. Valid values are S (store)
and W (warehouse).
quantityAllocated
Yes
Number
(12,4)
Contains the allocated quantity of the
item for the destination location.
When the allocation is being created
this value must be a positive integer.
If this value is being modifed, it will
contain the quantity adjusted
(positive or negative), rather than an
override value.
inStoreDate
No
Sample Input Message
dateContains the date the item is to be in
store. This date will be included in
the Merchandising publication for
communication to the warehouse.
{
"items": [
{
"allocationNo": 102881222,
"orderNo": 585036,
"item": "2147483647",
"fromLocation": 10001,
"documentNo": null,
"documentType": null,
"details": [
{
"toLocation": 6000,
"toLocationType": "S",
"quantityAllocated": 3,
"inStoreDate": "2001-12-31"
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}
Update Allocations

Functional Area

Inventory - Transfers and Allocations

Business Overview

This service can be used to update allocations within Merchandising from an external system. In order to perform an update, the existence of a matching record in the allocation header table is mandatory. Currently, only the allocation description, the release date, and status can be modified at the header level.

Service Type

PUT

ReST URL

MerchIntegrations/services/inventory/allocations/update

Input Payload Details

Table 5-348 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection of ObjectReferences a collection
of allocations.

Table 5-349 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
allocationNoYesNumber (10)Contains the unique
identifer of the
allocation. This should
fall within the range of
Merchandising IDs
already designated for
allocations.
allocationDescriptionYesString (300)Contains the user
defned description of
the allocation.
releaseDateNodateContains the earliest
date on which the
warehouse should
ship the allocation.
contextTypeNoString (6)Contains the actual
purpose behind the
creation of the
allocation in the
overall business setup.
Valid codes need to be
defned in the code
type = ‘CNTX’. E.g. -
Promotion, Repairing,
etc.
contextValueNoString (25)Contains the value
related to the specifed
context type, wherever
applicable. E.g.:
Promotion ID when
the context type is set
as ‘Promotion’.
allocStatusNoString (1)If specifed, needs to
be either ‘R’ (Reserved)
or ‘A’ (Approved).
Sample Input Message
{
"items": [
{
"allocationNo": 102881222,
"allocationDescription": "Allocation to 1311.",
"releaseDate": "2001-12-31",
"contextType": "REPAIR",
"contextValue": "71256",
"allocStatus": "A"
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Mobile Workflow Transfer Download Service

The following services are included in this functional area:

  • Create Transfer - Get From Locations for Transfer

  • Create Transfer - Get Items for Transfer

  • Create Transfer - Get Next Transfer Numbers

  • Create Transfer - Get To Locations for Transfer

  • Create Transfer - Refresh Transfer Items

  • Create Transfer - Refresh Transfer Locations

  • Mobile Workflow - Get Locations on Existing Transfers

  • Mobile Workflow - Get Transfer Statuses

  • Mobile Workflow - Get Transfer Summary

  • Mobile Workflow - Get Transfer Types

  • Mobile Workflow - Get Transfer Users

  • Mobile Workflow - Get Transfers

  • Mobile Workflow - Refresh Transfer Locations

Create Transfer - Get From Locations for Transfer

This section describes the Search From Location service.

Business Overview

This service retrieves locations applicable for inventory transfer. Location can be searched by either ‘S’tore or ‘W’arehouse. Then enter a location number, a partial location number, a location description, or a partial location description in the search string.

The locations returned are constrained by the following criteria:

  • When search type is warehouse only virtual warehouses are returned.

  • Only stockholding location.

  • When search type is store then only open stores are returned.

  • When items are sent as input then only locations with available inventory are returned.

  • When To Location is sent as input then:

    • It cannot be the same as the To Location.

    • When transfer type is Manual Requisition, then only locations with the same Transfer Entity/Set of Books as the To Location are returned in the search results.

    • When the transfer type is Intercompany, then only locations with a different Transfer Entity/Set of Books to the To Location are returned in the search results.

    • Only locations in the same transfer zone are returned in the search results.

Service Type
Get
ReST URL
/Transfer/fromLocation?
locationType={locationType}&searchString={searchString}&tsfType={tsfType}&toLo
cation={toLocation}&items={items}&pageSize={pageSize}&pageNumber={pageNumber}
Input Parameters
Parameter NameRequiredDescriptionValid values
LocationTypeYesLocation type Store or
warehouse
S,W
SearchStringYessearch string for locations
Id or Name
NA
tsfTypeYesTransfer typeIC,MR
toLocationNoSelected to location IDNA
itemsNoComma Separated values
for selected items
NA
PageSizeNoMaximum number of
locations to retrieve per
page
NA
PageNumberNoResult page to retrieveNA

Output

TsfLocSearchResultRDO
Parameter NameData Type
locationBigDecimal
locTypeString
locNameString
locCurrencyCodeString
entityBigDecimal
entityDescString
tsfLocitemSearchResList
TsfLocitemSearchResRDO

Parameter Name Data Type item String availQty BigDecimal averageCost BigDecimal unitRetail BigDecimal currencyCode String

PagedResultsRDO
Parameter NameData Type
totalRecordCountBigDecimal
Next Page URLString
Previous Page URLString
JSON Structure
{
  "links": [],
  "totalRecordCount": 1,
  "results": [
    {
      "links": [],
      "location": 5991,
      "locType": "S",
      "locName": "DIT Company Stockholding Store",
      "locCurrencyCode": "USD",
      "entity": 1000,
      "entityDesc": "Regular Stores",
      "tsfLocitemSearchRes": [
        {
          "links": [],
          "item": "100054006",
          "availQty": 100,
          "averageCost": 0,
          "unitRetail": 181.82,
          "currencyCode": "USD",
          "hyperMediaContent": {
            "linkRDO": []
          }
        },
        {
          "links": [],
          "item": "100040051",
          "availQty": 998,
          "averageCost": 1,
          "unitRetail": 1.54,
          "currencyCode": "USD",
          "hyperMediaContent": {
            "linkRDO": []
          }
        }
      ],
      "hyperMediaContent": {
        "linkRDO": []
      }
    }
  ],
  "hyperMediaContent": {
    "linkRDO": []
  }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
ALLOC_HEADERYesNoNoNo
ALLOC_DETAILYesNoNoNo
ITEM_LOCYesNoNoNo
ITEM_LOC_SOHYesNoNoNo
ITEM_MASTERYesNoNoNo
MV_LOC_SOBYesNoNoNo
ORDHEADYesNoNoNo
ORG_UNITYesNoNoNo
STOREYesNoNoNo
TRANSFER_LOCYesNoNoNo
TSF_ENTITYYesNoNoNo
V_STOREYesNoNoNo
V_TRANSFER_FROM_LOCYesNoNoNo
V_TRANSFER_TO_LOCYesNoNoNo
V_WHYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo
Create Transfer - Get Items for Transfer

Business Overview

This service retrieves items applicable for inventory transfer. Item can be searched either by Item or VPN. To search the item, enter an item number, a partial item description, or a VPN in the search string.

  • When search type is ITEM, the search string can be an item number, a partial item number, an item description, or partial item description. In this case, the query returns all items which match the item description or partial description, or which match the item number entered.

  • When search type is VPN, the search string can be a VPN or partial VPN, the API should return all items with that VPN.

The items returned are constrained by the following criteria:

  • Approved status.

  • Transaction-level items.

  • Inventory items.

  • When From Location is sent as an input, then only the following items are returned:

    • With available inventory at the From Location.

    • Packs with Receive as Type as Each are filtered out when, from location is a virtual warehouse.

  • If the System Option for DEPT_LEVEL_TRANSFERS is set as”Y” and a Department ID is sent as input, then only the input department items are returned.

Service Type

GET

ReST URL

/Transfer/item?
itemSearchType={itemSearchType}&searchString={searchString}&dept={dept}&fromLo
cation={fromLocation}&pageSize={pageSize}&pageNumber={pageNumber}

Input Parameters

Parameter NameRequiredDescriptionValid values
itemSearchTypeYesSearch type item or VPN.ITEM, VPN
searchStringYesSearch string for items ID or Name.NA
deptNoSelected items’ department ID.NA
fromLocationNoSelected from location ID.NA
PageSizeNoMaximum number of items to retrieve
per page.
NA
PageNumberNoResult page to retrieve.NA

Output

Table 5-350 TsfItemSearchRDO

Parameter NameData Type
itemString
itemDescString

Table 5-350 (Cont.) TsfItemSearchRDO

Parameter NameData Type
deptBigDecimal
availQtyBigDecimal
averageCostBigDecimal
unitRetailBigDecimal
currencyCodeString
standardlUnitOfMeasureString
suppPackSizeBigDecimal
innerPackSizeBigDecimal
itemImageUrlString

Table 5-351 PagedResultsRDO

Parameter NameData Type
totalRecordCountBigDecimal
Next Page URLString
Previous Page URLString
JSON Structure
{
    "links": [
        {
            "href": "/Transfer/item?
itemSearchType=ITEM&searchString=Black&fromLocation=363640301&pageSize=1&pageN
umber=3",
            "rel": "next",
            "type": "GET",
            "methodType": null
        },
        {
            "href": "/Transfer/item?
itemSearchType=ITEM&searchString=Black&fromLocation=363640301&pageSize=1&pageN
umber=1",
            "rel": "prev",
            "type": "GET",
            "methodType": null
        }
    ],
    "totalRecordCount": 51,
    "results": [
        {
            "links": [],
            "item": "100001406",
            "itemDesc": "DIT Test 11:Black:Extra Small",
            "dept": 1102,
            "availQty": 100,
            "averageCost": 5,
            "unitRetail": 7.26,
            "currencyCode": "USD",
            "standardlUnitOfMeasure": "CKG",
            "suppPackSize": 1,
            "innerPackSize": 1,
            "itemImageUrl": null,
            "hyperMediaContent": {
                "linkRDO": []
            }
        }
    ],
    "hyperMediaContent": {
        "linkRDO": [
            {
                "href": "/Transfer/item?
itemSearchType=ITEM&searchString=Black&fromLocation=363640301&pageSize=1&pageN
umber=3",
                "rel": "next",
                "type": "GET",
                "methodType": null
            },
            {
                "href": "/Transfer/item?
itemSearchType=ITEM&searchString=Black&fromLocation=363640301&pageSize=1&pageN
umber=1",
                "rel": "prev",
                "type": "GET",
                "methodType": null
            }
        ]
    }
}

Table Impact

TABLESELECTINSERTUPDATEDELETE
ALLOC_HEADERYesNoNoNo
ALLOC_DETAILYesNoNoNo
DAILY_PURGEYesNoNoNo
ITEM_LOCYesNoNoNo
ITEM_LOC_SOHYesNoNoNo
ITEM_IMAGEYesNoNoNo
ITEM_SUPPLIERYesNoNoNo
ITEM_SUPP_COUNTRYYesNoNoNo
ORDHEADYesNoNoNo
STOREYesNoNoNo
V_ITEM_MASTERYesNoNoNo
WHYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
TABLESELECTINSERTUPDATEDELETE
JOB_AUDIT_PAYLOADNoYesNoNo
Create Transfer - Get Next Transfer Numbers
Business Overview

This service retrieves the next available transfer numbers from Merchandising. This service takes an optional query parameter of count to retrieve multiple (up to 999) transfer numbers. The count defaults to 1 if the query parameter is not provided.

Service Type
GET
ReST URL
/Transfer/transferId

Input Parameters

Output

Parameter NameRequiredDescription
countNoCount (1-999) of transfer
numbers to be fetched.
Default value is1.
Parameter NameData TypeDetails
transfer_noNumberDeprecated (Use
transferNumbers) as this
service has been enhanced to
return multiple transfer numbers.
This field will contain the first
transfer number from
transferNumberslist.
transferNumbersArrayContains list of available transfer
numbers.
JSON Output
{
  "transfer_no": 123456,
  "transferNumbers": [123456, 123457]
}

Table Impact

N/A
Create Transfer - Get To Locations for Transfer

This section describes the Search To Location service.

Business Overview

This service retrieves locations applicable for inventory transfer. Location can be searched by either ‘S’tore or ‘W’arehouse. Then enter a location number, a partial location number, a location description, or a partial location description in the search string.

The locations returned are constrained by the following criteria:

  • When search type is warehouse only virtual warehouses are returned.

  • Internal finishers are filtered out.

  • Only stockholding location.

  • When search type is Store then only open stores are returned.

  • When items are sent as input then only locations with available inventory are returned.

  • When From Location is sent as input then:

    • To Location cannot be the same as the From Location.

    • When Transfer Type is set as a manual request, then only locations with the same Transfer Entity/Set of Books as the From Location are returned in the search results.

    • When the Transfer Type is Intercompany, then only locations with a different Transfer Entity/Set of Books to the From Location are returned in the search results.

    • Only locations in the same transfer zone are returned in the search results.

Service Type

Get

ReST URL

/Transfer/toLocation?
locationType={locationType}&searchString={searchString}&tsfType={tsfType}&from
Location={fromLocation}&pageSize={pageSize}&pageNumber={pageNumber}")

Input Parameters

Parameter NameRequiredDescriptionValid values
LocationTypeYesLocation type Store or warehouseS,W
SearchStringYessearch string for locations Id or NameNA
tsfTypeYesTransfer typeIC,MR
fromLocationNoSelected from location IDN/A
PageSizeNoMaximum number of locations to
retrieve per page
N/A
PageNumberNoResult page to retrieveN/A

Output

TsfLocSearchResultRDO
Parameter NameData Type
locationBigDecimal
locTypeString
locNameString
locCurrencyCodeString

Parameter Name Data Type entity BigDecimal entityDesc String tsfLocitemSearchRes List

TsfLocitemSearchResRDO

Parameter Name Data Type item String availQty BigDecimal averageCost BigDecimal unitRetail BigDecimal currencyCode String

PagedResultsRDO

Parameter Name Data Type totalRecordCount BigDecimal Next Page URL String Previous Page URL String

JSON Structure
{
  "links": [],
  "totalRecordCount": 1,
  "results": [
    {
      "links": [],
      "location": 5991,
      "locType": "S",
      "locName": "DIT Company Stockholding Store",
      "locCurrencyCode": "USD",
      "entity": 1000,
      "entityDesc": "Regular Stores",
      "tsfLocitemSearchRes": [],
      "hyperMediaContent": {
        "linkRDO": []
      }
    }
  ],
  "hyperMediaContent": {
    "linkRDO": []
  }
}

Table Impact

TABLESELECTINSERTUPDATEDELETE
ALLOC_HEADERYesNoNoNo
ALLOC_DETAILYesNoNoNo
ITEM_LOCYesNoNoNo
ITEM_LOC_SOHYesNoNoNo
ITEM_MASTERYesNoNoNo
MV_LOC_SOBYesNoNoNo
ORDHEADYesNoNoNo
ORG_UNITYesNoNoNo
STOREYesNoNoNo
TRANSFER_LOCYesNoNoNo
TSF_ENTITYYesNoNoNo
V_STOREYesNoNoNo
V_TRANSFER_FROM_LOCYesNoNoNo
V_TRANSFER_TO_LOCYesNoNoNo
V_WHYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo
Create Transfer - Refresh Transfer Items

This section describes the load items.

Business Overview

Load items service allows the user to refresh item records information for already selected items.

Service Type

Get

ReST URL
/Transfer/item/load?items={items}&fromLocation={fromLocation}
Input Parameters
Parameter NameRequiredDescription
itemsYesComma Separated values for selected items’ ID.
fromLocationNoSelected from location ID.
Output
TsfItemSearchRDO
Parameter NameData Type
itemString
Parameter NameData Type
itemDescString
deptBigDecimal
availQtyBigDecimal
averageCostBigDecimal
unitRetailBigDecimal
currencyCodeString
standardlUnitOfMeasureString
suppPackSizeBigDecimal
innerPackSizeBigDecimal
itemImageUrlString
JSON Structure
[
  {
    "links": [],
    "item": "100001887",
    "itemDesc": "DIT Test 12:Black:Medium",
    "dept": 1102,
    "availQty": 100,
    "averageCost": 5,
    "unitRetail": 7.26,
    "currencyCode": "USD",
    "standardlUnitOfMeasure": "CKG",
    "suppPackSize": 1,
    "innerPackSize": 1,
    "itemImageUrl": null,
    "hyperMediaContent": {
      "linkRDO": []
    }
  }
]
Table Impact
TABLESELECTINSERTUPDATEDELETE
ALLOC_HEADERYesNoNoNo
ALLOC_DETAILYesNoNoNo
DAILY_PURGEYesNoNoNo
ITEM_LOCYesNoNoNo
ITEM_LOC_SOHYesNoNoNo
ITEM_IMAGEYesNoNoNo
ITEM_SUPPLIERYesNoNoNo
ITEM_SUPP_COUNTRYYesNoNoNo
ORDHEADYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
STOREYesNoNoNo
V_ITEM_MASTERYesNoNoNo
WHYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo
Create Transfer - Refresh Transfer Locations

This section describes the Load Locations service.

Business Overview

Load locations Web service allows user to refresh selected locations records.

Service Type
Get

ReST URL

/Transfer/loadLocations?fromLocation={fromLocation}&toLocation={toLocation}

Input Parameters

Parameter NameRequiredDescription
FromLocationNoSelected from location ID.
ToLocationNoSelected to location ID.

Output

TsfLocSearchResultRDO
Parameter NameData Type
locationBigDecimal
locTypeString
locNameString
locCurrencyCodeString
entityBigDecimal
entityDescString
tsfLocitemSearchResList
TsfLocitemSearchResRDO
Parameter NameData Type
itemString
availQtyBigDecimal
averageCostBigDecimal
unitRetailBigDecimal

Parameter Name Data Type currencyCode String

JSON Structure
[
  {
    "links": [],
    "location": 5991,
    "locType": "S",
    "locName": "DIT Company Stockholding Store",
    "locCurrencyCode": "USD",
    "entity": 1000,
    "entityDesc": "Regular Stores",
    "tsfLocitemSearchRes": [],
    "hyperMediaContent": {
      "linkRDO": []
    }
  },
  {
    "links": [],
    "location": 12310101,
    "locType": "W",
    "locName": "test",
    "locCurrencyCode": "USD",
    "entity": 1000,
    "entityDesc": "Regular Stores",
    "tsfLocitemSearchRes": [],
    "hyperMediaContent": {
      "linkRDO": []
    }
  }
]
Table Impact
TABLESELECTINSERTUPDATEDELETE
ALLOC_HEADERYesNoNoNo
ALLOC_DETAILYesNoNoNo
ITEM_LOCYesNoNoNo
ITEM_LOC_SOHYesNoNoNo
ITEM_MASTERYesNoNoNo
MV_LOC_SOBYesNoNoNo
ORDHEADYesNoNoNo
ORG_UNITYesNoNoNo
STOREYesNoNoNo
TRANSFER_LOCYesNoNoNo
TSF_ENTITYYesNoNoNo
V_STOREYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
V_TRANSFER_FROM_LOCYesNoNoNo
V_TRANSFER_TO_LOCYesNoNoNo
V_WHYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo
Mobile Workflow - Get Locations on Existing Transfers

This section describes the transfer location search service.

Business Overview

The web service enables location search applicable for Transfers. Locations can be searched by either ‘S’tore or ‘W’arehouse, with the subsequent entry of a location number, a partial location number, a location description, or a partial location description in the search string.

The locations returned are constrained by the following criteria:

  • When search type is warehouse then:

    • Internal finishers are filtered out
  • When search type is store then:

    • Only company stores are returned

    • Only stockholding stores are returned

Service Type
Get
ReST URL
/Transfer/recent/transferLocSearch?
searchString={searchString}&locType={locType}&pageSize={pageSize}&pageNumber={
pageNumber}
Input Parameters
Parameter NameRequiredDescriptionValid values
SearchStringNoSearch string for locations ID
or Name
N/A
LocTypeNoLocation type: Store or
warehouse
S,W
PageSizeNoMaximum number of locations
to retrieve per page
N/A
PageNumberNoResult page to retrieveN/A

Output

PagedResultsRDO
Parameter NameData Type
totalRecordCountBigDecimal

Parameter Name Data Type results List

RtsfLocSearchResultRDO

Parameter Name Data Type location BigDecimal locationType String locationName String currency String

JSON Structure
{
  "totalRecordCount": 1,
  "results": [
    {
      "location": null,
      "locationType": null,
      "locationName": null,
      "currency": null,
      "links": [ ],
      "hyperMediaContent": {
        "linkRDO": [ ]
      }
    }
  ],
  "links": [ ],
  "hyperMediaContent": {
    "linkRDO": [ ]
  }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
V_STOREYesNoNoNo
V_WHYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo
Mobile Workflow - Get Transfer Statuses

This section describes the Transfer Status List service.

Business Overview

Retrieves all valid transfer statuses.

Service Type
Get
ReST URL
/Transfer/recent/transferStatusList
Input Parameters

No input.

Output

CodeDetailRDO

Parameter Name Data Type code String codeDescription String codeSequence BigDecimal JSON Structure [ { "code": null, "codeDescription": null, "codeSequence": null, "links": [ ], "hyperMediaContent": { "linkRDO": [ ] } } ]

Table Impact
TABLESELECTINSERTUPDATEDELETE
CODE_HEADYesNoNoNo
CODE_DETAILYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo
Mobile Workflow - Get Transfer Summary

This section describes the Get Transfer Detail service.

Business Overview

Get Transfer Detail service allow user to retrieve Transfer information for a selected transfer number.

Service Type
Get
ReST URL
/Transfer/recent/transferDetail?
transferNumber={transferNumber}&pageSize={pageSize}&pageNumber={pageNumber}
Input Parameters
Parameter NameRequiredDescription
TransferNumberYesTransfer Number ID
PageSizeNoMaximum number of items to
retrieve per page
PageNumberNoResult page to retrieve

Output

PagedResultsRDO
Parameter NameData Type
totalRecordCountBigDecimal
resultsList
RtsfTsfDtlRDO
Parameter NameData Type
transferNumberBigDecimal
statusString
fromLocationBigDecimal
fromLocationNameString
finisherBigDecimal
finisherNameString
toLocationBigDecimal
toLocationNameString
transferTypeString
totalCostBigDecimal
totalRetailBigDecimal
currencyString
deliveryDateLong
createIdString
createDateLong
transferItemsTableList
RtsfTsfDtlItemRDO
Parameter NameData Type
itemString
itemDescriptionString
transferQuantityBigDecimal
JSON Structure
{
  "totalRecordCount": null,
  "results": [
    {
      "transferNumber": null,
      "status": null,
      "fromLocation": null,
      "fromLocationName": null,
      "finisher": null,
      "finisherName": null,
      "toLocation": null,
      "toLocationName": null,
      "transferType": null,
      "totalCost": null,
      "totalRetail": null,
      "currency": null,
      "deliveryDate": null,
      "createId": null,
      "createDate": null,
      "transferItemsTable": [
        {
          "item": null,
          "itemDescription": null,
          "transferQuantity": null,
          "links": [ ],
          "hyperMediaContent": {
            "linkRDO": [ ]
          }
        }
      ],
      "links": [ ],
      "hyperMediaContent": {
        "linkRDO": [ ]
      }
    }
  ],
  "links": [],
  "hyperMediaContent": {
    "linkRDO": [ ]
  }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
ITEM_LOCYesNoNoNo
ITEM_LOC_SOHYesNoNoNo
TSF_ITEM_INV_FLOWYesNoNoNo
V_EXTERNAL_FINISHERYesNoNoNo
V_INTERNAL_FINISHERYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
V_ITEM_MASTERYesNoNoNo
V_LOCATIONYesNoNoNo
V_STOREYesNoNoNo
V_TSFDETAILYesNoNoNo
V_TSFHEADYesNoNoNo
V_WHYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo
Mobile Workflow - Get Transfer Types

This section describes the Transfer Type List service.

Business Overview

Retrieves all valid transfer types.

Service Type

Get

ReST URL

/Transfer/recent/transferTypeList

Input Parameters

No input.

Output

CodeDetailRDO

Parameter Name Data Type code String codeDescription String codeSequence BigDecimal

JSON Structure
[
  {
    "code": null,
    "codeDescription": null,
    "codeSequence": null,
    "links": [ ],
    "hyperMediaContent": {
      "linkRDO": [ ]
    }
  }
]
Table Impact
TABLESELECTINSERTUPDATEDELETE
CODE_HEADYesNoNoNo
CODE_DETAILYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo
Mobile Workflow - Get Transfer Users

This section describes the Search Transfer User IDs.

Business Overview

The Search Transfer User IDs service retrieves for all User IDs that created transfers.

Service Type

Get

ReST URL

/Transfer/recent/searchUserIds?
searchString={searchString}&pageSize={pageSize}&pageNumber={pageNumber}
Input Parameters
Parameter NameRequiredDescription
SearchStringYessearch string for User Id
PageSizeNoMaximum number of transfer user IDs to retrieve per
page
PageNumberNoResult page to retrieve

Output

PagedResultsRDO
Parameter NameData Type
totalRecordCountBigDecimal
resultsList
VarcharIdRDO
Parameter NameData Type
idString
JSON Structure
{
  "totalRecordCount": null,
  "results": [
    {
      "id": null,
      "links": [ ],
      "hyperMediaContent": {
        "linkRDO": [ ]
      }
    }
  ],
  "links": [ ],
  "hyperMediaContent": {
    "linkRDO": [ ]
  }
}

Table Impact

TABLESELECTINSERTUPDATEDELETE
V_TSFHEADYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo
Mobile Workflow - Get Transfers

This section describes the Transfer Search service.

Business Overview

The web services in this area enables search for applicable transfers. Transfers can be searched by their status, transfer types, transfer number, create date, delivery date, create ID, item department and/or locations.The transfers returned are constrained by the following criteria:

  • Customer Orders and Book Transfers are filtered out.

  • Only Transfers with transfer details are returned.

Service Type

Get

ReST URL
/Transfer/recent/transferSearch?
statuses={statuses}&transferTypes={transferTypes}&createIds={createIds}&startC
reateDate={startCreateDate}&endCreateDate={endCreateDate}&startDeliveryDate={s
tartDeliveryDate}&endDeliveryDate={endDeliveryDate}&transferNumber={transferNu
mber}&locations={locations}&departments={departments}&pageSize={pageSize}&page
Number={pageNumber}
Input Parameters
Parameter NameRequiredDescriptionValid values
StatusesNoComma Separated values for selected
transfer statuses
TransferTypesNoComma Separated values for selected
transfer types
CreateIdsNoComma Separated values for selected
transfer create ID
Parameter NameRequiredDescription
Valid values
StartCreateDateNoStart of the range of transfer create
dates
EndCreateDateNoEnd of the range of transfer create dates
StartDeliveryDateNoStart of the range of transfer create
dates
EndDeliveryDateNoEnd of the range of transfer create dates
TransferNumberNoTransfer Number
LocationsNoComma Separated values for selected
Location IDs
DepartmentsNoComma Separated values for selected
Department IDs
PageSizeNoMaximum number of locations to retrieve
per page
PageNumberNoResult page to retrieve

Output

PagedResultsRDO
Parameter NameData Type
totalRecordCountBigDecimal
resultsList
RtsfSearchResRDO
Parameter NameData Type
transferNumberBigDecimal
tsfTypeString
fromLocationBigDecimal
fromLocationTypeString
fromLocationNameString
toLocationBigDecimal
toLocationTypeString
toLocationNameString
statusString
totalCostBigDecimal
currencyString
deliveryDateLong
JSON Structure
{
  "totalRecordCount": null,
  "results": [
    {
      "transferNumber": null,
      "tsfType": null,
      "fromLocation": null,
      "fromLocationType": null,
      "fromLocationName": null,
      "toLocation": null,
      "toLocationType": null,
      "toLocationName": null,
      "status": null,
      "totalCost": null,
      "currency": null,
      "deliveryDate": null,
      "links": [ ],
      "hyperMediaContent": {
        "linkRDO": [ ]
      }
    }
  ],
  "links": [ ],
  "hyperMediaContent": {
    "linkRDO": [ ]
  }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
ITEM_LOC_SOHYesNoNoNo
ITEM_MASTERYesNoNoNo
TSFDETAILYesNoNoNo
TSFITEM_INV_FLOWYesNoNoNo
V_STOREYesNoNoNo
V_TSFDETAILYesNoNoNo
V_TSFHEADYesNoNoNo
V_WHYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo
Mobile Workflow - Refresh Transfer Locations

This section describes the Transfer Location Load service.

Business Overview

This web service allows the user to refresh already selected Transfer locations records.

Service Type
Get
ReST URL
/Transfer/recent/transferLocationLoad?locations={locations}
Input Parameters
Parameter NameRequiredDescription
LocationsNoComma-separated values for selected locations’ ID
Output
RtsfLocSearchResultRDO
Parameter NameData Type
locationBigDecimal
locationTypeString
locationNameString
currencyString
JSON Structure
[
  {
    "location": null,
    "locationType": null,
    "locationName": null,
    "currency": null,
    "links": [ ],
    "hyperMediaContent": {
      "linkRDO": [ ]
    }
  }
]

Table Impact

TABLESELECTINSERTUPDATEDELETE
V_STOREYesNoNoNo
V_WHYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Mobile Workflow Transfer Upload Service

The following services are included in this functional area:

  • Create Transfer

  • Mobile Workflow - Update Transfer Status

Create Transfer

This section describes the Create Transfer service.

Business Overview

The Web service calls the existing Merchandising XTSF API directly with input parameters. For more information on Merchandising XTSF API, see Store Order Subscription API and Transfer Subscription API sections.

Service Type

Post

ReST URL

/Transfer

Input Parameters

Example JSON RDO Input
{
  "links" : [ ],
  "tsfdtlRDOs" : [
    {
      "links" : [ ],
      "item" : null,
      "tsfQty" : null,
      "suppPackSize" : null,
      "invStatus" : null,
      "unitCost" : null,
      "hyperMediaContent" : {
        "linkRDO" : [ ]
      }
    }
  ],
  "tsfNo" : null,
  "fromLocType" : null,
  "fromLoc" : null,
  "toLocType" : null,
  "toLoc" : null,
  "deliveryDate" : null,
  "dept" : null,
  "routingCode" : null,
  "freightCode" : null,
  "tsfType" : null,
  "status" : null,
  "userId" : null,
  "commentDesc" : null,
  "contextType" : null,
  "contextValue" : null,
  "hyperMediaContent" : {
    "linkRDO" : [ ]
  }
}

Output

N/A

Table Impact

For more information on the Merchandising XTSF API, see the Store Order Subscription API and Transfer Subscription API sections.

Mobile Workflow - Update Transfer Status

This section describes the Update Transfer Status service.

Business Overview

The web service approves or unapproves a transfer or a list of transfers.

Service Type

Post

ReST URL
/Transfer/recent/updateTransferStatus?
newStatus={newStatus}&transferNumbers={transferNumbers}
Input Parameters
Parameter NameRequiredDescriptionValid values
NewStatusYesNew status of the transfer. May only beA-
Approved orI-Input.
A,I
TransferNumbersYesComma Separated values for selected
locations’ ID

Output

N/A
Table Impact
TABLESELECTINSERTUPDATEDELETE
TSFHEADYesNoYesNo
TSFDETAILYesYesYesYes
ITEM_LOCYesNoNoNo
ITEM_LOC_SOHYesNoYesNo
ITEM_MASTERYesNoNoNo
PACKITEM_BREAKOUTYesNoNoNo
STOREYesNoNoNo
SYSTEM_OPTIONSYesNoNoNo
V_TSFHEADYesNoNoNo
WHYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Stock Order Status Upload Service

The following services are included in this functional area:

  • Manage Stock Order Status
Manage Stock Order Status

Functional Area

Inventory - Transfers and Allocations

Business Overview

A stock order is an outbound merchandise request from a warehouse or store. In Merchandising, a stock order takes the form of either a transfer or allocation. Merchandising subscribes to stock order status messages published by an external application, such as a store system (SIOCS, for example) or a warehouse management system (Oracle WMS Cloud, for example) to communicate the status of a specific stock order.

Listed are the stock order statuses for both transfers and allocation document types and what occurs in Merchandising after receiving the respective status. Statuses other than listed below are ignored by Merchandising.

Statuses for Document Types T, D, and S

Document types of T, D, and S all refer to transfers and indicate if the transfer is initiated in Merchandising, a warehouse system, or a store system, respectively.

  • SI (Stock Increased) - Insert or increase transfer quantity and increase item/location transfer reserve quantity for the source location and transfer expected quantity for the destination location.

  • SD (Stock Decreased) - Delete or decrease the transfer quantity for the transfer/item combination. Transfer quantity for the transfer/item combination will be deleted if the transfer has been created but has not been shipped. Additionally, the item/location transfer reserved quantity for the source location and the transfer expected quantity for the destination location will be decreased.

  • DS (Details Selected) - Increase the selected quantity for the transfer/item combination.

  • DU (Details Un-selected) - Decrease selected and transfer quantity for the transfer/item by the quantity on the message and increase the cancelled quantity. Additionally, it will decrease the reserved quantity for the source location and decrease the expected quantity for the destination location by the lesser of the quantity on the message and transfer - shipped quantity. The transfer will also be added to the document close queue if transfer status is not closed. Document Close batch program will then determine if the transfer should be closed based on certain conditions. Transfers with outstanding appointments are not closed.

  • PP (Distributed) - Decreases the selected quantity and increases the distro quantity for the transfer/item.

  • PU (Un-Distribute) - Decreases the distro quantity for the transfer/item.

  • RS (Return to Stock) - Decreases distro quantity and transfer quantity for the transfer/item; the cancelled quantity for the transfer/item is increased. Additionally, transfer reserved is decreased for the item/source location and transfer expected is decreased for the item/ destination location for the lesser of the quantity in the message and the transfer - shipped quantity if the transfer status is not closed.

  • EX (Expired) - Decreases transfer quantity for the transfer/item; the cancelled quantity for the transfer/item is increased. Additionally, transfer reserved is decreased for the item/ source location and transfer expected is decreased for the item/destination location for the lesser of the quantity in the message and the transfer - shipped quantity if the transfer status is not closed. The transfer will also be added to the document close queue if transfer status is not closed. Document Close batch program will then determine if the transfer

should be closed based on certain conditions. Transfers with outstanding appointments are not closed.

  • SR (Store Reassign) - Updates the distro quantity for the transfer/item. This can either increase or decrease the value, depending on whether a positive or negative value is sent.
Statuses for Document Type A

Document type A is always used for Allocations.

  • SI (Stock Increased) - Insert or increase allocated quantity and increase item/location transfer reserve quantity for the source location and transfer expected quantity for the destination location.

  • SD (Stock Decreased) - Decrease the allocated quantity for the allocation/item combination. Additionally, the item/location transfer reserved quantity for the source location and the transfer expected quantity for the destination location will be decreased.

  • DS (Details Selected) - Increase the selected quantity for the allocation/item combination.

  • DU (Details Un-Selected) - Decrease the selected quantity for the allocation/item combination.

  • NI (WMS Line Cancellation) - Decrease selected and allocation quantity for the allocation/ item by the quantity on the message and increase the cancelled quantity. Additionally, it will decrease the reserved quantity for the source location and decrease the expected quantity for the destination location by the lesser of the quantity on the message and allocation - shipped quantity if the allocation is not closed. The allocation will also be added to the document close queue if allocation status is not closed. Document Close batch program will then determine if the allocation should be closed based on certain conditions. Allocations with outstanding appointments are not closed.

  • PP (Distributed) - Decreases the selected quantity and increases the distro quantity for the allocation/item.

  • PU (Un-Distribute) - Decreases the distro quantity for the allocation/item.

  • RS (Return to Stock) - Decreases distro quantity and allocation quantity for the allocation/ item; the cancelled quantity for the allocation/item is increased. Additionally, transfer reserved is decreased for the item/source location and transfer expected is decreased for the item/destination location for the lesser of the quantity in the message and the allocation - shipped quantity if the allocation status is not closed.

  • EX (Expired) - Decreases allocation quantity for the allocation/item; the cancelled quantity for the allocation/item is increased. Additionally, transfer reserved is decreased for the item/source location and transfer expected is decreased for the item/destination location for the lesser of the quantity in the message and the allocation - shipped quantity if the allocation status is not closed. The allocation will also be added to the document close queue if allocation status is not closed. Document Close batch program will then determine if the allocation should be closed based on certain conditions. Allocations with outstanding appointments are not closed.

  • SR (Store Reassign) - Updates the distro quantity for the allocation/item. This can either increase or decrease the value, depending on whether a positive or negative value is sent.

For customer orders, Merchandising assumes it will get updates from an OMS for customer order related stock orders. Therefore, to avoid duplicate processing, Merchandising will ignore No Inventory, Expired, Stock Decreased, and Stock Increased statuses received for a customer order transfer.

Service Type

PUT

ReST URL
MerchIntegrations/services/inventory/stockOrders/status/manage

Input Payload Details

Table 5-352 Manage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in
the collection.
itemsYesCollection of ObjectReferences a collection
of stock order status
records.

Table 5-353 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
locationYesNumber (10)Contains the location
number of the stock
order source location.
distroNoNoNumber (12)This feld contains the
stock order number.
This is either the
transfer or allocation
number in
Merchandising.
distroTypeYesString (1)This feld specifes
whether the stock
order status pertains
to an allocation (A) or
transfer (T - transfers
created in
Merchandising, D -
transfers created in a
warehouse
management system
or S - transfers created
in a store inventory
system) that is already
existing in
Merchandising.
Customer Order (C),
and Virtual Distro (V)
are also valid
document types but
will be ignored by
Merchandising.

Table 5-353 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
contextTypeNoString (6)This feld holds the
reason code related to
which a transfer is
made. Valid values are
found in the code type
CNTX. Examples are
Promotion (PROM),
Customer Transfer
(WED), Store
Requisition (STORE)
and Repairing
(REPAIR).
contextValueNoString (25)This feld holds the
value relating to the
context type like
promotion number.
inventoryTypeNoString (6)This feld indicates if a
transfer is made from
the available (A) or
unavailable (U)
inventory.
customerOrderNoNoString (48)This feld holds the
master customer order
number for a stock
order associated with
a customer order.
fulfllOrderNoNoString (48)This feld holds the
number related to the
fulfllment details for a
stock order associated
with a customer order.
One or more
fulfllment orders
could relate back to a
single customer order.
detailsYesCollection of ObjectReferences a collection
of stock order details.

Table 5-354 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
toLocationYesNumber (10)Contains the location
number of the stock
order receiving
location.
itemYesString (25)This contains the
unique identifer for
the item.

Table 5-354 (Cont.) Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
unitQuantityNoNumber (12,4)This feld contains the
difference between the
number of item units
shipped versus the
receiving count for the
given item. This is
subtracted from the
document-line-item-
unit-count to yield an
over/under variance
between what a
supplier said was
shipped and what was
counted and received
at by the store’s staff.
statusYesString (2)This feld contains the
status of the stock
order. Valid values
are: Accepted (SI),
Rejected (SD),
Distributed (PP), Un-
Distributed (PU),
Details Selected (DS),
Details Un-selected
(DU), WMS Line
Cancellation (NI),
Return To Stock (RS),
Expired (EX), and
Store Reassign (SR).
Statuses other than
listed are ignored by
Merchandising.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"location": 2,
"distroNo": 100000190000,
"distroType": "T",
"contextType": "PROM",
"contextValue": "2255",
"inventoryType": "A",
"customerOrderNo": null,
"fulfillOrderNo": null,
"details": [
{
"toLocation": 1211,
"item": "102900034",
"unitQuantity": 10,
"status": "SI"
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}

Transfer Detail Service

This section describes the Transfer Detail service.

Business Overview

Transfer Detail service allows user to retrieve details for a given transfer.

Service Type

Get

ReST URL

Transfer/transferDetail?transferNumber={transferNumber}
Input Parameters
Parameter NameRequiredDescription
Transfer NumberYesTransfer number
Output
RestTsfheadRecRDO
Parameter NameData Type
tsfNoBigDecimal
tsfParentNoBigDecimal
fromLocTypeString
fromLocBigDecimal
toLocTypeString
toLocBigDecimal
expDcDateTimestamp
deptBigDecimal
inventoryTypeString
tsfTypeString
statusString
deliveryDateTimestamp
closeDateTimestamp
notAfterDateTimestamp
contextTypeString
contextValueString
wfOrderNoBigDecimal
tsfdetailList
RestTsfdetailRecRDO
Parameter NameData Type
tsfSeqNoBigDecimal
itemString
invStatusBigDecimal
tsfPriceBigDecimal
tsfQtyBigDecimal
fillQtyBigDecimal
shipQtyBigDecimal
receivedQtyBigDecimal
reconciledQtyBigDecimal
distroQtyBigDecimal
selectedQtyBigDecimal
Parameter NameData Type
cancelledQtyBigDecimal
suppPackSizeBigDecimal
tsfCostBigDecimal
publishIndString
JSON Structure
{
  "tsfNo": null,
  "tsfParentNo": null,
  "fromLocType": null,
  "fromLoc": null,
  "toLocType": null,
  "toLoc": null,
  "expDcDate": null,
  "dept": null,
  "inventoryType": null,
  "tsfType": null,
  "status": null,
  "deliveryDate": null,
  "closeDate": null,
  "notAfterDate": null,
  "contextType": null,
  "contextValue": null,
  "wfOrderNo": null,
  "tsfdetail": [
    {
      "tsfSeqNo": null,
      "item": null,
      "invStatus": null,
      "tsfPrice": null,
      "tsfQty": null,
      "fillQty": null,
      "shipQty": null,
      "receivedQty": null,
      "reconciledQty": null,
      "distroQty": null,
      "selectedQty": null,
      "cancelledQty": null,
      "suppPackSize": null,
      "tsfCost": null,
      "publishInd": null,
      "links": [],
      "hyperMediaContent": {
        "linkRDO": []
      }
    }
  ],
  "links": [],
  "hyperMediaContent": {
    "linkRDO": []
}
  }
Table Impact
TABLESELECTINSERTUPDATEDELETE
TSFHEADYesNoNoNo
TSFDETAILYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Transfer Download Service

The following services are included in this functional area:

  • Get Transfer

  • Get Transfer Details for Provided Transfer

Get Transfer

Endpoint

MerchIntegrations/services/inventory/transfer
MerchIntegrations/services/inventory/transfer/{tsfNo}

Functional Area

Inventory - Transfers and Allocations

Business Overview

This service publishes transfer transactions to downstream consuming systems. It covers transfer header and line-detail information for stock movement between stores, warehouses, internal finishers, and external finishers, and, for customer-order transfers, it also publishes delivery, billing, and consumer-fulfillment enrichment. Only transfers in Approved (A), Shipped (S), Closed (C), Picked (P), or Selected (L) status are published. Transfers still in Input (I), Submitted (B), externally closed (X), or Deleted (D) status do not appear in this API payload.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: TSFHEAD, TSFDETAIL, ORDCUST

Additional business tables: ITEM_LOC, ITEM_TICKET, PACKITEM_BREAKOUT, ITEM_MASTER, ORDCUST_DETAIL, ORDCUST_CUSTOMER_DETAIL, STORE, WH, PARTNER, DELIVERY_SLOT, V_CODE_DETAIL_TL, SYSTEM_OPTIONS, TSFHEAD_CFA_EXT

JSON cache table: MERCHAPI_EXT_TRANSFER

JSON generation view: V_MERCHAPI_EXT_TSF_JSON

Pulls transfer header data from TSFHEAD, line details from TSFDETAIL, item-location selling attributes from ITEM_LOC, ticket and component detail from ITEM_TICKET, PACKITEM_BREAKOUT, and ITEM_MASTER, customer-order enrichment from ORDCUST, ORDCUST_DETAIL, and ORDCUST_CUSTOMER_DETAIL, delivery-slot text from DELIVERY_SLOT, location enrichment from STORE, WH, and PARTNER, and custom flex attributes from MERCHAPI_EXT_TRANSFER_CFA.

The view only publishes transfers whose TSFHEAD.STATUS is one of A, S, C, P, or L, so input, submitted, externally closed, and already-deleted transfer headers are not published through this API.

The view also derives additional business fields needed by downstream consumers.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_EXT_TSF_JSON and apply TSFHEAD.STATUS IN (‘A’,‘S’,‘C’,‘P’,‘L’).

Mark cache rows deleted when the transfer no longer exists in TSFHEAD.

ICL (Integration Change Log) table: ICL_RMS_TRANSFER (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on TSFHEAD, TSFDETAIL, TSFHEAD_CFA_EXT, and qualifying ORDCUST updates.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_TRANSFER

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_TRANSFER_ADHOC_PROCESS MERCHAPI_EXT_TRANSFER_ADHOC_JOB

Webhook configuration api name: inventory/transfer

Special handling

Additional GET query parameters: fromLoc, toLoc, fromLocType, toLocType.

These filters are not backed by dedicated cache-table indexes. At high volume, use them only as additional criteria on top of a small-window delta fetch and not for full downloads.

Performance Considerations

For customers expecting high to very high publish volume from this API, sizing and operational tuning should be addressed early in the implementation lifecycle. Initial cache seeding, ongoing delta processing, full extracts, and incremental downloads or webhook-driven delivery have different runtime characteristics and should be evaluated separately. Because this service builds transfer messages from multiple base and supporting tables, including customer-order enrichment and line-detail expansion, the available configuration should be validated against the customer production transfer profile, with the key performance-related configuration for this service covering the following:

Multi-threading and commit control

This service supports multi-threaded execution for both initial seeding and delta processing. Thread count is controlled through API_NO_OF_THREADS, commit sizing through API_COMMIT_MAX_COUNTER, and long-running initial seeding can also be segmented through API_EXEC_SECONDS.

Thread and commit settings should be chosen together based on expected row volume, average message size, and the complex SQL query required to build the message from multiple base and supporting tables. Common starting points for large-volume runs are 8, 16, or 32 threads. Values of 48 or 64 threads should be considered only after testing and with awareness of competing workload in the environment.

API_COMMIT_MAX_COUNTER should be sized together with the thread setting. Typical values range from about 1,000 rows and can extend to 10,000.

API_EXEC_SECONDS is mainly relevant for initial seeding. A value of about 30 minutes helps the batch pause and resume cleanly so tuning changes can be applied between runs if needed.

Dropping indexes and constraints during seeding

This option applies only to initial seeding, including truncate-and-load execution. When thread and commit settings are high, concurrent inserts can increase index maintenance overhead and slow the load.

To reduce that overhead, DROP_INDEX_ON_REFRESH can be enabled so indexes and constraints are dropped before seeding and rebuilt after the load completes. GATHER_STATS_ON_REFRESH should normally remain enabled unless testing shows a specific reason to change it.

REST fetch considerations

Transfer payloads can be comparatively large, so REST page size should be selected based on average payload size so the average response remains below about 10 MB per call. Common page-limit values are 500, 1,000, 5,000, or 10,000 rows, with the lower end often proving better for broader transfer messages.

For full downloads, do not provide the since query parameter so the database can favor the primary-key access path. For delta downloads, use a small time window, typically a few minutes and at most a few hours, so the eligible row set on the LAST_UPDATE_DATETIME index remains small.

Wider delta windows, especially multi-day windows that can arise during outages or data recovery, generally do not perform well. For such scenarios, keeping BUILD_HISTOGRAM enabled allows the service to support recovery through smaller, more selective polling windows using the optimalBefore query parameter.

In this catch-up pattern, for requests up to 30 days in the past, the client provides optimalBefore and leaves before empty. The client then uses the returned before timestamp to continue polling incrementally until the backlog is cleared, and then resumes the normal shortwindow delta pattern. Hourly histogram processing groups LAST_UPDATE_DATETIME values into buckets of 10,000 rows in MERCHAPI_TIMESTAMP_HISTOGRAM using the shared HISTOGRAM_ROW_COUNT configuration.

Service Type

GET
ReST URL
MerchIntegrations/services/inventory/transfer
MerchIntegrations/services/inventory/transfer/{tsfNo}
Input Parameters
Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
fromLocNoNumberFrom Location
toLocNoNumberTo Location
fromLocTypeNoStringFrom Location Type
toLocTypeNoStringTo Location Type
offsetkeyNoStringOffset key
limitNoString (6)Pagination limit.
Default value is 1000.
optimalBeforeNoStringEnables histogram-
based calculation of
the before timestamp
when before is not
provided. Valid values
are Y or N. Default
value is N.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-355 Input Parameter for “MerchIntegrations/services/inventory/transfer/ {tsfNo}“

Parameter NameRequiredData TypeDescription
tsfNoYesNumber
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)

Table 5-355 (Cont.) Input Parameter for “MerchIntegrations/services/inventory/transfer/ {tsfNo}“

Parameter NameRequiredData TypeDescription
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-356 PageResultsItemsMerchApiTransfer - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-357 MerchApiTransfer - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for transfer
details.
transferNoNoNumber(12,0)This feld specifes a
number that uniquely
identifes the transfer
within the system.
docTypeNoString (1)This feld is defaulted
to T for transfers.

Table 5-357 (Cont.) MerchApiTransfer - Object. See list of elements for detail

Element NameRequiredData TypeDescription
physicalFromLocationNoNumber(10,0)This feld specifes the
number that is used to
identify the physical
warehouse for a
virtual warehouse
when the from
location is a
warehouse. Store ID is
populated when the
from location is a
store.
fromLocationTypeNoString (1)This feld specifes the
location type of the
transfer from location.
fromStoreTypeNoString (6)This feld specifes
whether a particular
store is a franchise or
company store if the
from location is a
store. This feld is not
populated if the from
location is a
warehouse.
fromStockholdingIndNoString (1)This feld specifes
whether the store can
hold stock. In a non-
multichannel
environment this will
always be Y if the from
location is a store. This
feld is not populated if
the from location is a
warehouse.
fromLocationNoNumber(10,0)This feld specifes the
location number of the
transfer from location.
physicalToLocationNoNumber(10,0)This feld specifes the
number that is used to
identify the physical
warehouse for a
virtual warehouse
when the to location is
a warehouse. Store ID
is populated when the
to location is a store.
toLocationTypeNoString (1)This feld specifes the
location type of the
transfer to location.

Table 5-357 (Cont.) MerchApiTransfer - Object. See list of elements for detail

Element NameRequiredData TypeDescription
toStoreTypeNoString (6)This feld specifes
whether a particular
store is a franchise or
company store if the to
location is a store. This
feld is not populated if
the to location is a
warehouse.
toStockholdingIndNoString (1)This feld specifes
whether the store can
hold stock. In a non-
multichannel
environment this will
always be Y if the to
location is a store. This
feld is not populated if
the to location is a
warehouse.
toLocationNoNumber(10,0)This feld specifes the
location number of the
transfer to location.
transferTypeNoString (6)This feld identifes the
type or reason for the
transfer.
pickNotBeforeDateNodateThis feld specifes the
date the transfer was
approved.
pickNotAfterDateNodateThis feld is calculated
as the transfer
approval date plus the
days from code_detail
where code_type =
‘DEFT’ and code =
‘DATE’.
orderTypeNoString (9)This feld specifes the
order type associated
with transfers. RWMS
uses this value to
determine how to
distribute stock orders.
breakByDistroNoString (1)This feld is set to ‘Y’ if
the delivery_type for
the transfer’s customer
is ‘S’. Otherwise, it is
set to ‘N’.
deliveryDateNodateThis feld specifes the
earliest date that the
transfer can be
delivered to the store.
This will be populated
if the transfer type is
PO-Linked.

Table 5-357 (Cont.) MerchApiTransfer - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deliverAdd1NoString (240)For customer order
transfers, this feld
contains the frst line
of the customer’s
delivery address. For
other types of transfer
this feld is not
populated.
deliverAdd2NoString (240)For customer order
transfers, this feld
contains the second
line of the customer’s
delivery address. For
other types of transfer
this feld is not
populated.
deliverCityNoString (120)For customer order
transfers, this feld
contains the city
portion of the
customer’s delivery
address. For other
types of transfer this
feld is not populated.
deliverStateNoString (3)For customer order
transfers, this feld
contains the state
portion of the
customer’s delivery
address. For other
types of transfer this
feld is not populated.
deliverPostNoString (30)For customer order
transfers, this feld
contains the postal
code portion of the
customer’s delivery
address. For other
types of transfer this
feld is not populated.
deliverCountryIdNoString (3)For customer order
transfers, this feld
contains the country
portion of the
customer’s delivery
address. For other
types of transfer this
feld is not populated.
commentsNoString (2000)This feld specifes any
comments associated
with the transfer.

Table 5-357 (Cont.) MerchApiTransfer - Object. See list of elements for detail

Element NameRequiredData TypeDescription
transferParentNoNoNumber(12,0)This feld identifes the
transfer at the level
above the transfer.
expectedDcDateNodateThis feld specifes the
date the inventory is
expected to arrive at
the DC.
expectedDcEowDateNodateThis column holds the
eow_date for the
exp_dc_date column. It
is used for OTB
extracts for
intercompany
transfers.
approvalIdNoString (30)This feld specifes the
ID of the user who
approved the transfer.
approvalDateNodateThis feld specifes the
date the transfer was
approved.
fromLocationTransfer
Entity
NoNumber(10,0)This feld specifes the
transfer entity of the
from location.
toLocationTransferEnt
ity
NoNumber(10,0)This feld specifes the
transfer entity of the
to location.
invTypeNoString (6)This feld specifes that
a transfer can only
contain available or
unavailable
merchandise, never a
combination of both.
This feld indicates
whether the transfer is
for available inventory
or unavailable
inventory.
transferStatusNoString (1)This feld specifes the
status of the transfer.
notAfterDateNodateThis feld specifes the
last day delivery of the
transfer will be
accepted.
contextTypeNoString (6)This feld can be used
to indicate the transfer
reason or category, for
example ‘promotion’.

Table 5-357 (Cont.) MerchApiTransfer - Object. See list of elements for detail

Element NameRequiredData TypeDescription
contextValueNoString (25)This feld can be used
to further indicate the
reason or category for
the transfer. For
instance, if
context_type was
’promotion’, this could
be the promotion
number.
deliverySlotIdNoString (15)This feld specifes
when the transfer
quantity is needed at
the location.
deliverySlotDescriptio
n
NoString (240)This feld specifes the
delivery slot
description.
customerOrderNoNoString (48)For customer order
transfers, this feld
contains the master
customer order
number from the
Order Management
System.
fulfllmentOrderNumb
er
NoString (48)This feld contains the
fulfllment order
number for the
transfer as provided
by OMS. One or more
fulfllment orders
could relate back to a
single customer order
in OMS.
carrierCodeNoString (4)This feld indicates the
carrier the order is to
be shipped with, if
specifed on the order.
carrierServiceCodeNoString (6)This feld indicates the
method that was
selected for shipping
by the customer
placing the order (for
example, Standard
Shipping or
Overnight).
consumerDeliveryDateNodateThis feld specifes the
desired date the
delivery is required by
the customer.
consumerDeliveryTim
e
NodateTimeThis feld specifes the
desired time the
delivery is required by
the customer.

Table 5-357 (Cont.) MerchApiTransfer - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deliverFirstNameNoString (120)For customer order
transfers, this feld
contains the frst name
for the delivery
address on the order.
For other types of
transfer this feld is
not populated.
deliverPhoneticFirstNoString (120)For customer order
transfers, this feld
contains the phonetic
frst name for the
delivery address on
the order. For other
types of transfer this
feld is not populated.
deliverLastNameNoString (120)For customer order
transfers, this feld
contains the last name
for the delivery
address on the order.
For other types of
transfer this feld is
not populated.
deliverPhoneticLastNoString (120)For customer order
transfers, this feld
contains the phonetic
last name for the
delivery address on
the order. For other
types of transfer this
feld is not populated.
deliverPreferredNameNoString (120)For customer order
transfers, this feld
contains the preferred
name for the delivery
address on the order.
For other types of
transfer this feld is
not populated.
deliverCompanyNameNoString (120)For customer order
transfers, this feld
contains the company
name for the delivery
address on the order.
For other types of
transfer this feld is
not populated.

Table 5-357 (Cont.) MerchApiTransfer - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deliverAdd3NoString (240)For customer order
transfers, this feld
contains the third line
of the customer’s
delivery address. For
other types of transfer
this feld is not
populated.
deliverCountyNoString (250)For customer order
transfers, this feld
contains the county
portion of the
customer’s delivery
address. For other
types of transfer this
feld is not populated.
deliverPhoneNoString (20)For customer order
transfers, this feld
contains the delivery
phone number. For
other types of transfer
this feld is not
populated.
billFirstNameNoString (120)For customer order
transfers, this feld
contains the frst name
for the billing address
on the order. For other
types of transfer this
feld is not populated.
billPhoneticFirstNoString (120)For customer order
transfers, this feld
contains the phonetic
frst name for the
billing address on the
order. For other types
of transfer this feld is
not populated.
billLastNameNoString (120)For customer order
transfers, this feld
contains the last name
for the billing address
on the order. For other
types of transfer this
feld is not populated.
billPhoneticLastNoString (120)For customer order
transfers, this feld
contains the phonetic
last name for the
billing address on the
order. For other types
of transfer this feld is
not populated.

Table 5-357 (Cont.) MerchApiTransfer - Object. See list of elements for detail

Element NameRequiredData TypeDescription
billPreferredNameNoString (120)For customer order
transfers, this feld
contains the preferred
name for the billing
address on the order.
For other types of
transfer this feld is
not populated.
billCompanyNameNoString (120)For customer order
transfers, this feld
contains the company
name for the billing
address on the order.
For other types of
transfer this feld is
not populated.
billAdd1NoString (240)For customer order
transfers, this feld
contains the frst line
of the customer’s
billing address. For
other types of transfer
this feld is not
populated.
billAdd2NoString (240)For customer order
transfers, this feld
contains the second
line of the customer’s
billing address. For
other types of transfer
this feld is not
populated.
billAdd3NoString (240)For customer order
transfers, this feld
contains the third line
of the customer’s
billing address. For
other types of transfer
this feld is not
populated.
billCountyNoString (250)For customer order
transfers, this feld
contains the county
portion of the
customer’s billing
address. For other
types of transfer this
feld is not populated.

Table 5-357 (Cont.) MerchApiTransfer - Object. See list of elements for detail

Element NameRequiredData TypeDescription
billCityNoString (120)For customer order
transfers, this feld
contains the city
portion of the
customer’s billing
address. For other
types of transfer this
feld is not populated.
billCountryNoString (3)For customer order
transfers, this feld
contains the country
portion of the
customer’s billing
address. For other
types of transfer this
feld is not populated.
billPostNoString (30)For customer order
transfers, this feld
contains the postal
code portion of the
customer’s billing
address. For other
types of transfer this
feld is not populated.
billStateNoString (3)For customer order
transfers, this feld
contains the state
portion of the
customer’s billing
address. For other
types of transfer this
feld is not populated.
billPhoneNoString (20)For customer order
transfers, this feld
contains the billing
phone number. For
other types of transfer
this feld is not
populated.
partialDeliveryIndNoString (1)For customer order
transfers, this feld
indicates if the order
can be picked and
shipped partially or if
it should be shipped
only when complete.
consumerDirectIndNoString (1)This feld indicates the
order as being
consumer direct (Y) or
not (N). An order is
consumer direct if it is
a customer order.

Table 5-357 (Cont.) MerchApiTransfer - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNoNoNumber(12,0)This feld contains the
import order number
for which the
intercompany book
transfer was created
for POs created using
an importer.
freightCodeNoString (1)This feld is used to
determine the priority
for this transfer. Valid
values for this feld
are: N - Normal, E -
Expedite, H - Hold.
routingCodeNoString (1)This feld is used to
indicate the type of
freight to use on the
transfer. Valid values
are 1 - 1 day expedite,
2 - 2 day expedite, 3 - 3
day expedite.
externalReferenceNoNoString (14)This feld contains the
audit trail reference to
an external system
when an external
transaction initiates
master record creation
in the Oracle Retail
system.
massReturnTransferN
o
NoNumber(10,0)This feld holds the
mass return transfer
number with which
this transfer is
associated. This is the
primary key for the
table MRT.
restockingPercentageNoNumber(12,4)This feld holds the
percentage of cost
charged by the
receiving location for
re-stocking.
franchiseOrderNoNumber(10,0)This feld holds the
franchise order
number this transfer is
linked to.
franchiseReturnAutho
rizationNo
NoNumber(10,0)This feld holds the
franchise return
number this transfer is
linked to.

Table 5-357 (Cont.) MerchApiTransfer - Object. See list of elements for detail

Element NameRequiredData TypeDescription
franchiseNeedDateNodateThis feld contains the
need date of the
franchise order. This is
populated only for
franchise order
transfers.
closeDateNodateThis feld contains the
date the transfer was
closed.
createIdNoString (254)This feld contains the
user ID of the user that
created the transfer.
createDateTimeNodateTimeThis column holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis column holds the
date and time when
the record was last
updated (UTC).
detailsNoCollection of ObjectThis list holds
attributes for transfer
record details.
customFlexAttributeNoCollection of ObjectThis list holds custom
fex attributes for the
transfer.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the transfer record
was frst picked for
processing from the
ICL table.
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication.

Table 5-358 TransferDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
transferSeqNoNoNumber(8,0)This feld contains a
sequence number that,
when combined with
the transfer number,
makes this detail row
unique.
itemNoString (25)This feld specifes the
unique alphanumeric
value that identifes
the item.

Table 5-358 (Cont.) TransferDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
transferQuantityNoNumber(12,4)This feld specifes the
total quantity of the
item reserved at the
from location for this
transfer.
priceNoNumber(20,4)This feld specifes the
unit retail price in the
selling unit of measure
for the item/location
combination.
sellingUomNoString (4)This feld specifes the
selling unit of measure
of the item.
expediteFlagNoString (1)This feld is
determined from the
transfer’s freight code
feld.
storeOrderMultipleNoString (1)This feld specifes the
multiple in which the
item needs to be
shipped from a
warehouse to the
location.
transferOrderLinkNoNoNumber(12,0)This feld specifes the
reference number to
link the item on the
transfer to any
purchase orders that
have been created to
allow the from
location (that is,
warehouse) on the
transfer to fulfll the
transfer quantity to
the to location (that is,
store) on the transfer.
ticketTypeIdNoString (4)This feld specifes the
ticket type associated
with the item.
ticketDetailsNoCollection of ObjectThis list holds
attributes for transfer
detail ticket records.
invStatusNoNumber(2,0)This feld specifes
inventory status, if one
exists, for the transfer
detail record. The
inventory status feld
corresponds to the
inventory status type
found on the
INV_STATUS_TYPES
table.

Table 5-358 (Cont.) TransferDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
transactionUomNoString (4)This feld specifes the
original transaction
unit of measure to be
passed on to the store
system. It is only used
for customer direct
orders coming from
the Order
Management System.
All quantities in the
response payload are
expressed in the item’s
standard unit of
measure.
itemLineNoNoNumber(10,0)This feld specifes the
detail item line
number for customer
order transfers. For
other types of transfer
this feld is not
populated.
commentsNoString (2000)This feld specifes any
comments associated
with the transfer line
item.
transferPriceNoNumber(20,4)This feld holds the
unit cost of the item
that will be used for
this specifc transfer if
being transferred at
something other than
current WAC. This
feld should only have
a value for
intercompany
transfers.
transferCostNoNumber(20,4)This feld holds the
unit cost of the item
that will be used for
this specifc transfer if
the current shipping
location’s WAC is not
used.
supplierPackSizeNoNumber(12,4)This feld contains the
supplier pack size for
this transfer/item.

Table 5-358 (Cont.) TransferDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
defaultCharges2ndLeg
Ind
NoString (1)This feld is an
indicator to identify
whether item up
charges, if they exist,
should be defaulted to
the 2nd leg of the
transfer. The valid
values are Y, N, and
NULL. Its value is set
on the transfer detail
form when applying
item up charges to the
1st leg.
restockingPercentageNoNumber(12,4)This feld contains the
percentage of cost
charged by the
supplier for re-
stocking. This could be
different than the
restocking percentage
held in TSFHEAD if the
user decides to change
the percentage at item
level.
fnisherAverageRetailNoNumber(20,4)This feld is applicable
to two-legged transfers
and contains the
weighted average
retail of all the units of
the transfer item
currently at or in
transit to the fnisher.
fnisherUnitsNoNumber(12,4)This feld is applicable
to two-legged transfers
and contains the
number of units of the
transfer item currently
at or in transit to the
fnisher.
createDateTimeNodateTimeThis column holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis column holds the
date and time when
the record was last
updated (UTC).

Table 5-359 TransferDetailsTicket - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentItemNoString (25)This feld specifes the
alphanumeric value
that identifes the
component item
within the pack.
componentPriceNoNumber(20,4)This feld specifes the
unit retail price in the
selling unit retail of
the component item
within the pack.
componentSellingUomNoString (4)This feld specifes the
selling unit of measure
for a component item
within the pack.

Table 5-360 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-361 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL

Table 5-361 (Cont.) LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"transferNo": 12300056,
"docType": null,
"physicalFromLocation": 1,
"fromLocationType": "S",
"fromStoreType": "C",
"fromStockholdingInd": "Y",
"fromLocation": 1521,
"physicalToLocation": 1,
"toLocationType": "S",
"toStoreType": "C",
"toStockholdingInd": "Y",
"toLocation": 1511,
"transferType": "AD",
"pickNotBeforeDate": "2001-12-31",
"pickNotAfterDate": "2001-12-31",
"orderType": null,
"breakByDistro": null,
"deliveryDate": "2001-12-31",
"deliverAdd1": null,
"deliverAdd2": null,
"deliverCity": null,
"deliverState": null,
"deliverPost": null,
"deliverCountryId": null,
"comments": "transfer to loc 1511",
"transferParentNo": 1,
"expectedDcDate": "2001-12-31",
"expectedDcEowDate": "2001-12-31",
"approvalId": null,
"approvalDate": "2001-12-31",
"fromLocationTransferEntity": 1,
"toLocationTransferEntity": 1,
"invType": null,
"transferStatus": null,
"notAfterDate": "2001-12-31",
"contextType": null,
"contextValue": null,
"deliverySlotId": null,
"deliverySlotDescription": null,
"customerOrderNo": "12342132156",
"fulfillmentOrderNumber": "123123213",
"carrierCode": "30",
"carrierServiceCode": "D",
"consumerDeliveryDate": "2001-12-31",
"consumerDeliveryTime": "2001-12-31T23:59:59.000Z",
"deliverFirstName": null,
"deliverPhoneticFirst": null,
"deliverLastName": null,
"deliverPhoneticLast": null,
"deliverPreferredName": null,
"deliverCompanyName": null,
"deliverAdd3": null,
"deliverCounty": null,
"deliverPhone": null,
"billFirstName": null,
"billPhoneticFirst": null,
"billLastName": null,
"billPhoneticLast": null,
"billPreferredName": null,
"billCompanyName": null,
"billAdd1": null,
"billAdd2": null,
"billAdd3": null,
"billCounty": null,
"billCity": null,
"billCountry": null,
"billPost": null,
"billState": null,
"billPhone": null,
"partialDeliveryInd": "N",
"consumerDirectInd": null,
"orderNo": 464690012,
"freightCode": "N",
"routingCode": null,
"externalReferenceNo": null,
"massReturnTransferNo": 1,
"restockingPercentage": 1.0,
"franchiseOrder": 1,
"franchiseReturnAuthorizationNo": 1,
"franchiseNeedDate": "2001-12-31",
"closeDate": "2001-12-31",
"createId": "RMS01APP",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"details": [
{
"transferSeqNo": 1,
"item": "104100022",
"transferQuantity": 3,
"price": 1.0,
"sellingUom": "EA",
"expediteFlag": "Y",
"storeOrderMultiple": null,
"transferOrderLinkNo": 1,
"ticketTypeId": null,
"ticketDetails": [
{
"componentItem": null,
"componentPrice": 1.0,
"componentSellingUom": "EA"
}
],
"invStatus": 1,
"transactionUom": "EA",
"itemLineNo": 1,
"comments": null,
"transferPrice": 1.0,
"transferCost": 1.0,
"supplierPackSize": 3,
"defaultCharges2ndLegInd": null,
"restockingPercentage": 1.0,
"finisherAverageRetail": 1.0,
"finisherUnits": 1.0,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoYesNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_TRANSFERYesNoYesYes
MERCHAPI_EXT_TRANSFERYesYesYesYes
MERCHAPI_EXT_TRANSFER_CFANoYesNoYes
TSFHEADYesNoNoNo
TSFHEAD_CFA_EXTYesNoNoNo
V_MERCHAPI_EXT_TSF_JSONYesNoNoNo
SYSTEM_OPTIONSYesNoNoNo
Get Transfer Details for Provided Transfer

Endpoint

MerchIntegrations/services/inventory/transfer
MerchIntegrations/services/inventory/transfer/{tsfNo}
Functional Area
Inventory - Transfers
Business Overview

This service can be used by external applications to get all or selected transfers and its details from Merchandising.

Service Type

GET

ReST URL
/MerchIntegrations/services/inventory/transfer?
since={since}&before={before}&offsetkey={offsetkey}&limit={limit}
Input Parameters
Parameter NameRequiredData TypeDescription
sinceNoStringSince Date.
Format:yyyy-mm-
dd"T"hh24:mi:ss.fftzh:tzm
beforeNoStringBefore Date
Format:yyyy-mm-
dd"T"hh24:mi:ss.fftzh:tzm
fromLocNoNumberSource Location
toLocNoNumberDestination location
fromLocTypeNoStringSource location type
toLocTypeNoStringDestination location type
Parameter NameRequiredData TypeDescription
offsetkeyNoStringOffset Key. Valid Value is transfer ID.
limitNoBigDecimalPagination limit. Default Value is1000.
Output
NameData TypeDescription
actionStringAction for Item details. Valid Values are
INSERT, UPDATE and DELETE.
transferNoNumberThis feld specifes a number that uniquely
identifes the transfer within the system.
docTypeStringThis feld Specifes the type of document. This
feld is defaulted to T for Transfers.
physicalFromLocationStringThis feld specifes number that is used to
identify physical warehouse for virtual
warehouse in case from location is warehouse.
Store+ id is populated in case of store.
fromLocationTypeStringThis feld specifes the location type of from
location of the transfer
fromStoreTypeStringThis feld specifes whether a particular store
is a franchise or company store if from
location is Store. Field not populated if from
location is Warehouse.
fromStockholdingIndNumberThis feld specifes whether the store can hold
stock. In a non-multichannel environment this
will always be Y, if from location is Store. Field
not populated if from location is Warehouse.
fromLocationNumberThis feld specifes location number of the
transfer from location.
physicalToLocationStringThis feld specifes number that is used to
identify physical warehouse for virtual
warehouse in case to location is warehouse.
Store id is populated in case of store.
toLocationTypeStringThis feld specifes the location type of to
location of the transfer.
toStoreTypeStringThis feld specifes whether a particular store
is a franchise or company store if to location is
Store. Field not populated if to location is
Warehouse.
toStockholdingIndNumberThis feld specifes whether the store can hold
stock. In a non-multichannel environment this
will always be Y, if to location is Store. Field
not populated if to location is Warehouse.
toLocationNumberThis feld specifes location number of the
transfer to location.
transferTypeNumberThis feld identifes the type or reason for the
transfer.
pickNotBeforeDateStringThis feld Contains the date on which the
transfer should be released from the from
location for delivery to the to location.
NameData TypeDescription
pickNotAfterDateNumberThis feld is calculated as transfer approval
date + days from code_detail where code_type
= ‘DEFT’ and code = ‘DATE’.
orderTypeStringThis feld specifes order type associated with
transfers.
breakByDistroStringThis feld is set to ‘Y’ if the deliver_type for the
transfer’s customer is ‘S’. Otherwise, set to N
deliveryDateStringThis feld specifes earliest date that the
transfer can be delivered to the store. This will
be populated if the transfer type is PO-Linked.
deliverAdd1StringFor customer order transfers, this feld
contains the frst line of the delivery address
of the customer. For other type’s of transfer
this feld would not be populated.
deliverAdd2StringFor customer order transfers, this feld
contains the second line of the delivery
address of the customer. For other types of
transfer this feld would not be populated.
deliverCityStringFor customer order transfers, this feld
contains the city portion of the customer. For
other types of transfer this feld would not be
populated.
deliverStateStringFor customer order transfers, this feld
contains the state portion of the customer. For
other types of transfer this feld would not be
populated.
deliverPostStringFor customer order transfers, this feld
contains the postal code portion of the
customer. For other types of transfer this feld
would not be populated.
deliverCountryIdStringFor customer order transfers, this feld
contains the country portion of the customer.
For other types of transfer this feld would not
be populated.
commentsStringThis feld specifes any comments associated
with the transfer.
detailsThis list holds detail records for the transfers
transferParentNoNumberThis feld identifes the transfer at the level
above the transfer.
expectedDcDateStringThis feld specifes date the inventory is
expected to arrive at the DC.
approvalIdStringThis feld specifes ID of the user who
approved the transfer.
approvalDateStringThis feld specifes date the transfer was
approved.
fromLocationTransferEntityNumberThis feld specifes transfer entity of the from
location.
toLocationTransferEntityNumberThis feld specifes transfer entity of the to
location.
NameData TypeDescription
invTypeStringThis feld specifes transfer can only contain
available or unavailable merchandise, never a
combination of both. This feld will indicate
whether the transfer is for Available inventory
or Unavailable inventory.
transferStatusStringThis feld specifes Status of the transfer.
notAfterDateStringThis feld specifes last day delivery of the
transfer will be accepted.
contextTypeStringThis feld can be used to indicate the transfer
reason or category, e.g., ‘promotion’.
contextValueStringThis feld can be used to further info to
indicate the reason or category for the
transfer. For instance, if context type was
’promotion’, this could be the promotion
number.
deliverySlotIdStringThis feld Specifes when the transfer quantity
is needed at the location.
deliverySlotDescriptionStringThis feld Specifes delivery slot description.
customerOrderNoStringor customer order transfers, this feld contains
the master customer order number from the
Order Management System.
fulfllmentOrderNumberStringContains the fulfllment order number for the
transfer as provided by OMS. One or more
fulfllment orders could relate back to a single
customer order in OMS.
carrierCodeStringThis feld indicates the carrier the order is to
be shipped with, if specifed on the order.
carrierServiceCodeStringThis feld indicates method that was selected
for shipping by the customer placing the order
(e.g., Standard Shipping, Overnight, etc.).
consumerDeliveryDateStringThis feld specifes desired date the delivery is
required by the customer.
consumerDeliveryTimeStringThis feld specifes desired time the delivery is
required by the customer.
deliverFirstNameStringFor customer order transfers, this feld
contains the frst name for the delivery
address on the order. For other types of
transfer this feld would not be populated.
deliverPhoneticFirstStringFor customer order transfers, this feld
contains the phonetic frst name for the
delivery address on the order. For other types
of transfer this feld would not be populated.
deliverLastNameStringFor customer order transfers, this feld
contains the phonetic frst name for the
delivery address on the order. For other types
of transfer this feld would not be populated.
deliverPhoneticLastStringFor customer order transfers, this feld
contains the phonetic last name for the
delivery address on the order. For other types
of transfer this feld would not be populated.
NameData TypeDescription
deliverPreferredNameStringFor customer order transfers, this feld
contains the preferred name for the delivery
address on the order. For other types of
transfer this feld would not be populated.
deliverCompanyNameStringFor customer order transfers, this feld
contains the company name for the delivery
address on the order. For other types of
transfer this feld would not be populated.
deliverAdd3StringFor customer order transfers, this feld
contains the third line of the delivery address
of the customer. For other types of transfer
this feld would not be populated.
deliverCountyStringFor customer order transfers, this feld
contains country of the delivery address of the
customer. For other types of transfer this feld
would not be populated.
deliverPhoneStringFor customer order transfers, this feld
contains delivery phone number. For other
types of transfer this feld would not be
populated.
billFirstNameStringFor customer order transfers, this feld
contains the frst name for the billing address
on the order. For other types of transfer this
feld would not be populated.
billPhoneticFirstStringFor customer order transfers, this feld
contains the phonetic frst name for the billing
address on the order. For other types of
transfer this feld would not be populated.
billLastNameStringFor customer order transfers, this feld
contains the last name for the billing address
on the order. For other types of transfer this
feld would not be populated.
billPhoneticLastStringFor customer order transfers, this feld
contains the phonetic last name for the billing
address on the order. For other types of
transfer this feld would not be populated.
billPreferredNameStringFor customer order transfers, this feld
contains the preferred name for the billing
address on the order. For other types of
transfer this feld would not be populated.
billCompanyNameStringFor customer order transfers, this feld
contains the preferred name for the billing
address on the order. For other types of
transfer this feld would not be populated.
billAdd1StringFor customer order transfers, this feld
contains the frst line of the billing address of
the customer. For other types of transfer this
feld would not be populated.
billAdd2StringFor customer order transfers, this feld
contains the second line of the billing address
of the customer. For other types of transfer
this feld would not be populated.
NameData TypeDescription
billAdd3StringFor customer order transfers, this feld
contains the third line of the billing address of
the customer. For other types of transfer this
feld would not be populated.
billCountyStringFor customer order transfers, this feld
contains the county portion of the billing
address of the customer. For other types of
transfer this feld would not be populated.
billCityStringFor customer order transfers, this feld
contains the city portion of the billing address
of the customer. For other types of transfer
this feld would not be populated.
billCountryStringFor customer order transfers, this feld
contains the city portion of the billing address
of the customer. For other types of transfer
this feld would not be populated.
billPostStringFor customer order transfers, this feld
contains the postal code portion of the billing
address of the customer. For other types of
transfer this feld would not be populated.
billStateStringFor customer order transfers, this feld
contains the state portion of the billing
address of the customer. For other types of
transfer this feld would not be populated.
billPhoneStringFor customer order transfers, this feld
contains the billing phone number. For other
types of transfer this feld would not be
populated.
partialDeliveryIndStringFor customer order transfers, this feld
indicates if the order can be picked and
shipped partially or if it should be shipped
only when complete.
consumerDirectIndStringThis feld indicates the order as being
consumer direct (Y) or not (N). An order is
consumer direct if it is a customer order.
customFlexAttributeThis list holds custom fex attributes for the
transfers.
createDateTimeStringThis column holds the record creation date.
updateDateTimeStringhis column holds the date when the record
was last updated.
Table 5-362 details
NameData TypeDescription
itemStringThis feld specifes unique alphanumeric value
that identifes the item.
transferQuantityNumberThis feld specifes total quantity of the item
reserved at the from location for this transfer.
priceNumberThis feld specifes unit retail price in the
selling unit of measure for the item/location
combination.

Table 5-362 (Cont.) details

NameData TypeDescription
sellingUomStringThis feld specifes selling unit of measure of
the item.
expediteFlagStringThis feld is determined from transfer’s freight
code feld.
storeOrderMultipleStringThis feld specifes multiple in which the item
needs to be shipped from a warehouse to the
location.
transferOrderLinkNoNumberThis feld specifes reference number to link
the item on the transfer to any purchase
orders that have been created to allow the
from location (i.e. warehouse) on the transfer
to fulfll the transfer quantity to the to location
(i.e. store) on the transfer.
ticketTypeIdStringThis feld specifes reference number to link
the item on the transfer to any purchase
orders that have been created to allow the
from location (i.e., warehouse) on the transfer
to fulfll the transfer quantity to the to location
(i.e. store) on the transfer.
ticketDetailsThis List holds attributes for details of transfer
details ticket record.
invStatusStringThis feld specifes inventory status, if one
exists, for the transfer detail record. The
inventory status feld corresponds to the
inventory status type found on the
INV_STATUS_TYPES table
transactionUomStringThis feld specifes original transaction unit of
measure to be passed on to the store system. It
is only used for customer direct orders coming
from the Order Management System. All
quantities in the response payload are
expressed in item’s standard unit of measure.
itemLineNoStringThis feld specifes detail item line number for
customer order transfers. For other types of
transfer this feld is not populated.
commentsStringThis feld specifes any comments associated
with the transfer line item.
createDateTimeStringThis column holds the record creation date.
updateDateTimeStringThis column holds the date when the record
was last updated.

Table 5-363 ticketDetails

NameData TypeDescription
componentItemStringThis feld specifes Alphanumeric value that
identifes the component item within the pack.
componentPriceNumberThis feld specifes unit retail price in the
selling unit retail of the component item
within the pack.

Table 5-363 (Cont.) ticketDetails

NameData TypeDescription
componentSellingUomStringThis feld specifes selling unit of measure for
a component item within the pack.

Table 5-364 customFlexAttribute

NameData TypeDescription
nameStringThis feld will hold the custom fex attribute
name.
valueStringThis feld will hold the numeric or string value
of the custom fex attribute.
valueDateStringThis feld will hold the date value of the custom
fex attribute.
createDateTimeStringThis feld will hold the date time when the
custom fex attribute was inserted.
updateDateTimeStringThis feld will hold the date time when the
custom fex attribute was last updated.

Table 5-365 Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element corresponds
to a row in the result set generated by the query.
hasMoreThis is dependent on limit value. If the total rows are more
than then limit defned then hasMore will be set to true
else false.
limitThis is used to limit the rows to control the paging of result
data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON input:
" {
  "items": [
    {
      "action": "INSERT",
      "transferNo": 100000005000,
      "docType": "T",
      "physicalFromLocation": 1515,
      "fromLocationType": "S",
      "fromStoreType": "C",
      "fromStockholdingInd": "Y",
      "fromLocation": 1515,
      "physicalToLocation": 8811,
      "toLocationType": "S",
      "toStoreType": "C",
      "toStockholdingInd": "Y",
      "toLocation": 8811,
      "transferType": "MR",
      "pickNotBeforeDate": "2021-12-08",
      "pickNotAfterDate": "2022-01-07",
      "orderType": "AUTOMATIC",
      "breakByDistro": "N",
      "deliveryDate": "2021-12-08",
      "deliverAdd1": null,
      "deliverAdd2": null,
      "deliverCity": null,
      "deliverState": null,
      "deliverPost": null,
      "deliverCountryId": null,
      "comments": null,
      "details": [
        {
          "item": "100500002",
          "transferQuantity": 1,
          "price": 12.22,
          "sellingUom": "EA",
          "expediteFlag": "N",
          "storeOrderMultiple": "E",
          "transferOrderLinkNo": null,
          "ticketTypeId": null,
          "ticketDetails": null,
          "invStatus": null,
          "transactionUom": null,
          "itemLineNo": null,
          "comments": null,
          "createDateTime": "2021-12-08T18:16:04.000Z",
          "updateDateTime": "2021-12-08T18:16:10.000Z"
        }
      ],
      "transferParentNo": null,
      "expectedDcDate": "2021-12-08",
      "approvalId": "RMS_ADMIN",
      "approvalDate": "2021-12-08",
      "fromLocationTransferEntity": 1111,
      "toLocationTransferEntity": 1111,
      "invType": "A",
      "transferStatus": "A",
      "notAfterDate": "2021-12-10",
      "contextType": null,
      "contextValue": null,
      "deliverySlotId": null,
      "deliverySlotDescription": null,
      "customerOrderNo": null,
      "fulfillmentOrderNumber": null,
      "carrierCode": null,
      "carrierServiceCode": null,
      "consumerDeliveryDate": null,
      "consumerDeliveryTime": null,
      "deliverFirstName": null,
      "deliverPhoneticFirst": null,
      "deliverLastName": null,
      "deliverPhoneticLast": null,
      "deliverPreferredName": null,
      "deliverCompanyName": null,
      "deliverAdd3": null,
      "deliverCounty": null,
      "deliverPhone": null,
      "billFirstName": null,
      "billPhoneticFirst": null,
      "billLastName": null,
      "billPhoneticLast": null,
      "billPreferredName": null,
      "billCompanyName": null,
      "billAdd1": null,
      "billAdd2": null,
      "billAdd3": null,
      "billCounty": null,
      "billCity": null,
      "billCountry": null,
      "billPost": null,
      "billState": null,
      "billPhone": null,
      "partialDeliveryInd": null,
      "consumerDirectInd": "N",
      "customFlexAttribute": null,
      "createDateTime": "2021-12-08T00:00:00.000Z",
      "updateDateTime": "2021-12-08T18:16:24.000Z",
      "cacheTimestamp": "2022-04-06T10:00:47.220Z"
    },
    {
      "action": "INSERT",
      "transferNo": 100000015002,
      "docType": "T",
      "physicalFromLocation": 440,
      "fromLocationType": "W",
      "fromStoreType": null,
      "fromStockholdingInd": null,
      "fromLocation": 441,
      "physicalToLocation": 2345,
      "toLocationType": "E",
      "toStoreType": null,
      "toStockholdingInd": null,
      "toLocation": 2345,
      "transferType": "MR",
      "pickNotBeforeDate": "2021-12-20",
      "pickNotAfterDate": "2022-01-19",
      "orderType": "AUTOMATIC",
      "breakByDistro": "N",
      "deliveryDate": "2021-12-21",
      "deliverAdd1": null,
      "deliverAdd2": null,
      "deliverCity": null,
      "deliverState": null,
      "deliverPost": null,
      "deliverCountryId": null,
      "comments": null,
      "details": [
        {
          "item": "100500002",
          "transferQuantity": 3,
          "price": 12.22,
          "sellingUom": "EA",
          "expediteFlag": "N",
          "storeOrderMultiple": "E",
          "transferOrderLinkNo": null,
          "ticketTypeId": null,
          "ticketDetails": null,
          "invStatus": null,
          "transactionUom": null,
          "itemLineNo": null,
          "comments": null,
          "createDateTime": "2021-12-21T14:07:46.000Z",
          "updateDateTime": "2021-12-21T14:07:50.000Z"
        }
      ],
      "transferParentNo": null,
      "expectedDcDate": "2021-12-21",
      "approvalId": "RMS_ADMIN",
      "approvalDate": "2021-12-20",
      "fromLocationTransferEntity": 1111,
      "toLocationTransferEntity": 1111,
      "invType": "A",
      "transferStatus": "A",
      "notAfterDate": "2021-12-22",
      "contextType": null,
      "contextValue": null,
      "deliverySlotId": null,
      "deliverySlotDescription": null,
      "customerOrderNo": null,
      "fulfillmentOrderNumber": null,
      "carrierCode": null,
      "carrierServiceCode": null,
      "consumerDeliveryDate": null,
      "consumerDeliveryTime": null,
      "deliverFirstName": null,
      "deliverPhoneticFirst": null,
      "deliverLastName": null,
      "deliverPhoneticLast": null,
      "deliverPreferredName": null,
      "deliverCompanyName": null,
      "deliverAdd3": null,
      "deliverCounty": null,
      "deliverPhone": null,
      "billFirstName": null,
      "billPhoneticFirst": null,
      "billLastName": null,
      "billPhoneticLast": null,
      "billPreferredName": null,
      "billCompanyName": null,
      "billAdd1": null,
      "billAdd2": null,
      "billAdd3": null,
      "billCounty": null,
      "billCity": null,
      "billCountry": null,
      "billPost": null,
      "billState": null,
      "billPhone": null,
      "partialDeliveryInd": null,
      "consumerDirectInd": "N",
      "customFlexAttribute": null,
      "createDateTime": "2021-12-20T00:00:00.000Z",
      "updateDateTime": "2021-12-21T14:08:42.000Z",
      "cacheTimestamp": "2022-04-06T10:00:48.823Z"
    }
  ],
  "hasMore": true,
  "limit": 2,
  "count": 2,
  "links": [
    {
      "href": "https://rex.retail.us-phoenix-1.ocs.oc-test.com/rgbu-rex-rgbu-
stg83-mfcs/MerchIntegrations/services/inventory/transfer?
limit=2&since=1970-01-01T00:00:00.001Z&before=2022-04-10T15:26:38.684995+00:00
",
      "rel": "self"
    },
    {
      "href": "https://rex.retail.us-phoenix-1.ocs.oc-test.com/rgbu-rex-rgbu-
stg83-mfcs/MerchIntegrations/services/inventory/transfer?
offsetkey=100000015002&limit=2&since=1970-01-01T00:00:00.001Z&before=2022-04-1
0T15:26:38.684995+00:00",
      "rel": "next"
    }
  ]
}"
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoYesNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_TRANSFERYesNoYesYes
MERCHAPI_EXT_TRANSFERYesYesYesYes
MERCHAPI_EXT_TRANSFER_CFANoYesNoYes
TABLESELECTINSERTUPDATEDELETE
TSFHEADYesNoNoNo
TSFHEAD_CFA_EXTYesNoNoNo
V_MERCHAPI_EXT_TSF_JSONYesNoNoNo
SYSTEM_OPTIONSYesNoNoNo

Transfer Upload Service

The following services are included in this functional area:

  • Create Book Transfer

  • Create Transfer Details

  • Create Transfers

  • Delete Transfer Details

  • Delete Transfers

  • Update Transfer Details

  • Update Transfers

Create Book Transfer

This section describes the Book Transfer ReSTful Web Service

Functional Area

Transfer and Customer Order

Business Overview

This web service will be built to virtually move inventory from one location to the other for the purposes of attributing the sale to a location different from the location that is fulfilling the order physically. For example, if the order is being fulfilled via shipment from a physical store, some retailers will want to actually have the sale processed against the e-commerce store. This service also accept a customer order number and fulfillment order number to be associated with the transfer when it is created as a cross reference.

Service Type

Post

ReST URL

/Transfer/customerOrderBookTransfer

Input Parameters

The Book Transfer web service has the following parameters:

Parameter NameRequiredData TypeDescription
FromLocationYesBigDecimalTransfer source location
ToLocationYesBigDecimalTransfer destination
CustomerOrderNumberNoStringCustomer order identification
FulfillOrderNumberNoStringFulfillment order identification
Parameter NameRequiredData TypeDescription
UpdateCustomerReserve
dQty
NoStringIndicates if any of the customer reserved
quantity should be update either the
source or destination location or both.
Valid values:

Bupdate both the source and
destination location

Supdate only the source location

Rupdate only the destination
location

Nor NULL no update
ItemsDetailYesCollection of itemsDetail RDO
ApprovalDateNoDateApproval date of the transfer
(Format: ‘DD-MON-YYYY’)
ItemDetail RDO

The Book Transfer web service has the following parameters:

Parameter NameRequiredData TypeDescription
ItemYesStringItem identification
QuantityYesBigDecimalItem quantity to be transferred

Example JSON Input

[
   {
   "toLocation":null,
   "fromLocation":null,
   "customerOrderNumber":null,
   "fulfillOrderNumber":null,
   "updateCustomerReservedQty":null,
   "itemsDetail":[
     {
       "item":null,
       "quantity":null
     },
     {
       "item":null,
       "quantity":null
     },
     {
       "item":null,
       "quantity":null
     }
     ],
   "approvalDate":null
   },
   {
   "fromLocation":null,
   "toLocation":null,
   "customerOrderNumber":null,
   "fulfillOrderNumber":null,
   "updateCustomerReservedQty":null,
   "itemsDetail":[
     {
       "item":null,
       "quantity":null
     }
     ],
   "approvalDate":null
   }
 ]

Output

RestCobtsfStatuRDO
Parameter NameData Type
successCobtsfCountBig Decimal
successCobtsfTblList< successCobtsfRDO>
failCobtsfCountBigDecimal
failCobtsfTableList
SuccessCobtsfRDO
Parameter NameData Type
FromLocationBig Decimal
ToLocationBig Decimal
TransferNumberBigDecimal
FailCobtsfRDO
Parameter NameData Type
FromLocationBig Decimal
ToLocationBig Decimal
errorMessageBigDecimal

JSON Structure

{
  "successCobtsfCount": 2,
  "successCobtsfTable": [
    {
      "fromLocation ": 123,
      "toLocation ": 987,
      "transferNumber ": 123456789
      "links": [],
      "hyperMediaContent": {
        "linkRDO": []
      }
    },
    {
      "fromLocation ": 456,
      "toLocation ": 654,
      "transferNumber ": 987654321
      "links": [],
      "hyperMediaContent": {
        "linkRDO": []
      }
    }
],
  "failCobtsfCount": 1,
  "failCobtsfTable": [
    {
      "orderNumber": 123,
      "errorMessage": "Invalid Item.",
      "links": [],
      "hyperMediaContent": {
        "linkRDO": []
      }
    }
  ],
  "links": [],
  "hyperMediaContent": {
    "linkRDO": []
  }
}
Table Impact

The following tables are affected:

TABLESELECTINSERTUPDATEDELETE
CURRENCIESYesNoNoNo
DEPSYesNoNoNo
ITEM_LOCYesYesNoNo
ITEM_LOC_SOHYesYesYesNo
ITEM_MASTERYesNoNoNo
ITEM_SUPP_COUNTRYYesNoNoNo
MONTH_DATAYesNoNoNo
MV_CURRENCY_CONVERSIO
ATES
N_R
Yes
NoNoNo
ORDCUSTYesYesNoNo
STOREYesNoNoNo
TRAN_DATANoYesNoNo
TSFDETAILNoYesNoNo
TSFHEADNoNoNoNo
UOM_CLASSYesNoNoNo
V_PACKSKU_QTYYesNoNoNo
WEEK_DATAYesNoNoNo
WHYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo
Create Transfer Details

Functional Area

Inventory - Transfers and Allocations

Business Overview

This service is used to create additional line items for one or more existing transfers at a time in Merchandising. For more information about transfer, see the Create Transfer service.

Service Type
POST
ReST URL
MerchIntegrations/services/inventory/transfer/details/create

Input Payload Details

Table 5-366 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection of
Object
References a collection of transfers.

Table 5-367 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
transferNoYesNumber (12)Number that uniquely identifes the
transfer.
fromLocationTypeYesString (1)The location type of the from
location. Valid values are ‘S’ and ‘W’.
fromLocationYesString (10)The location number of the from
location.
toLocationTypeYesString (1)The location type of the to location.
Valid values are ‘S’, ‘W’ and ‘E’
toLocationYesString (10)The location number of the to
location.
detailsNoCollection of
Object
References collection of transfer
details

Table 5-368 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the item
being transferred.
transferQuantityYesNumber
(12,4)
The total quantity of the item
reserved for this transfer at the from
location.
supplierPackSizeNoNumber
(12,4)
The supplier pack size for this item/
transfer.

Table 5-368 (Cont.) Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
invStatusNoNumber (2)A code indicating the inventory status
for this transfer detail. Valid values
are found on the inv_status_types
table.
adjustmentTypeNoString (6)This feld, along with the adjustment
value, is used to calculate the transfer
price for intercompany transfers. It
will be ignored for all other transfers.
If the adjustment value is provided,
then the type must also be specifed.
Valid values are: ‘IA’, ‘IP’, ‘DA’, ‘DP’, ‘S’.
IA and IP can only be used if you
have your system options set to allow
the transfer price to exceed weighted
average cost.
adjustmentValueNoNumber
(20,4)
If the adjustment type is provided,
then the value must also be specifed.
This must always be a positive
amount.
Sample Input Message
{
  "items": [
    {
      "transferNo": 12300056,
      "fromLocationType": "S",
      "fromLocation": "1521",
      "toLocationType": "S",
      "toLocation": "1511",
      "details": [
        {
          "item": "100100076",
          "transferQuantity": 3,
          "supplierPackSize": 3,
          "invStatus": 1,
          "adjustmentType": "IA",
          "adjustmentValue": 3.55
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}
Create Transfers

Functional Area

Inventory - Transfers and Allocations

Business Overview

This service is used to by external systems to create one or more transfers at a time in Merchandising. Within Oracle Retail solutions, this is also leveraged by Advanced Inventory Planning (AIP) to create standalone transfers generated out of its replenishment processing.

When a new transfer is created, this service will first validate that all required fields are present in the message. Certain fields are required regardless of transfer type and system configuration, while others are dependent on other Merchandising configurations. Additionally, when creating a new transfer at least one detail line must also be included in the message. After that, business level validation on the input information will be performed.

Location Validation

The from and to locations passed into the message must be valid stores or warehouses in Merchandising; but they cannot be the same. If both locations are stores, then they must both exist in the same transfer zone. Additionally, if the to location is a store, then it must be open. This is determined based on whether there is a close date defined for the store and the stop order days.

If either location is a warehouse, then it can be either a physical warehouse or a virtual warehouse, depending on transfer type. A physical warehouse is only allowed as the from location type for an EG type of transfer. Additionally, only Book type transfers are allowed between two warehouses in the same physical warehouse.

If either the from or to location is a franchise store, then the other location cannot be a finisher. If the franchise store is a non-stockholding location, then the other location on the transfer must be a warehouse.

Validation is also done at the item level based on the locations on the transfer. Each item on the transfer must be in active, inactive, or discontinued status at the from location. It also must have been ranged to the from location in Merchandising, when that location is a warehouse. However, if the from location is a store, there is an exception where the transfer can still be created even though it is not yet ranged, which also bypasses inventory validation. This is to support a specific function in Oracle Retail Store Inventory Management (SIM). If the item is not already ranged to the to location, then ranging will occur when the transfer is created, regardless of status. The ranging that occurs will flag the item/location as unintentionally ranged for all transfer types except service. If the to location is an external finisher, see the section below on transfers with finishing.

Inventory Validation

Another part of the validation that is applicable for all transfers created is that inventory is available for transfer if the status passed through the integration is approve (A), with a few exceptions. First, EG type transfers do not have inventory validated as it is assumed that this type of transfer is generated in the store or warehouse and the inventory availability check has been done in that solution as part of the shipping of the inventory. Additionally, if the system option titled Validate External Warehouse Availability is set to No (unchecked), then warehouse inventory will not be validated for any transfers initiated in this service regardless of type. Store inventory availability is never validated by this service because of support for the process where the item does not need to be ranged to the shipping store.

Status Validation

Transfers can be created in a status of Input (I) or Approved (A) using this service. Transfers in input status are not subject to inventory validation, but all other validations are applicable. Book type transfers can only be created in Input status using this service, as there isn’t really a concept of an ‘approved’ book transfer. As soon as it is approved it is executed. Additionally, transfers of type Reallocation (RAC) and Return to Vendor (RV) can also only be created in Input status. Conversely, transfers of type AIP, SIM, and EG must always be created in Approved status. If any validation fails when processing the new transfer that results in it not being able to be approved, the transfer will be created but will remain in input status. The exception to this is for transfers of type AIP, SIM, and EG, as they must always be created in approved status. If they are not able to be approved, the transfer is not created or updated.

Transfer Type Specific Validation

Most of the validation defined above is relevant regardless of transfer type, except where noted. However, there are also some other validations done as part of this service processing that are specific to a type of transfer.

Administrative (AD)

See Manual Requisition

AIP Generated (AIP)

This type of transfer is expected only to be sent from AIP as an output of the replenishment process. As such, Merchandising assumes certain validations have been done by AIP in advance of receiving the transfer and slightly different validation is enforced. The following special validations apply for this transfer type using this service:

Must be created in Approved status

Can only be to stockholding locations

Supports transferring packs from stores

Allows the department number to be passed even when the system option is N

Item/location ranging to the to location will result in the Ranged flag being set to Yes as it is assumed this an intentional ranging.

Can be an intercompany transfer

Book (BT)

Book transfers processed through this service can be created for two virtual warehouses in the same physical warehouse only. This is usually used for inventory rebalancing between virtual locations. The following special validations apply for this transfer type using this service:

Can only be created in Input status

Can only be created for virtual warehouses in the same physical warehouse

Warehouses must be in the same legal entity

Confirmation (CF)

See Manual Requisition

Externally Generated (EG)

Externally Generated transfers are assumed to be created in the store or warehouse. Further, it is assumed that once they get to Merchandising, the transfer is already in process at that location. As such, there are certain validations that are managed differently for this transfer type in this service:

Must be created in Approved status

Supports transferring packs from stores

Allows the department number to be passed even when the system option is N

Can be an intercompany transfer

Uses the physical warehouse number, not a virtual warehouse number, if warehouses are involved

Intercompany (IC)

An intercompany transfer is a type of business to business transaction that sells product from one legal entity and purchases it into another. Legal entities in Merchandising are determined based on the setting of the Intercompany Basis system option, which indicates whether the transfer entity or the set of books of a location should be used. This transfer type is used when either it is explicitly passed into the service or if the transfer type is NULL in the inbound message and the locations are in different legal entities. Other transfer types may also be intercompany, as well, but the below rules apply for those flagged as intercompany type explicitly:

The legal entity of the from and to locations must be different.

If an adjustment type or value is passed into the message, that will be used to calculate the ‘selling’ price between entities. Otherwise, the from location’s weighted average cost is used

Manual Requisition (MR)

This is the most basic type of transfer in Merchandising, so it is used as a default transfer type when either it is explicitly passed into the service or if the transfer type is NULL in the inbound message and the locations are in the same legal entity. The behavior for this transfer type is

the same as that for AD and CF types of transfers, those could be used as different reasons for a transfer. For this transfer type the following validation rules are enforced:

Locations must be in the same legal entity

Reallocation (RAC)

A reallocation transfer is assumed to be used to pull back inventory from stores or warehouses to a single warehouse for re-allocation to other stores or other warehouses. This is the type of transfer that is created when a mass-return transfer is created, for example. Because it has unique rules tied to it related to MRTs, some additional validations are followed:

Can only be created in Input status in this service

Locations must be in the same legal entity

Return to Vendor (RV)

A return to vendor type of transfer is similar to a reallocation type, in that it is assumed to be pulling inventory back to a warehouse from stores or other warehouses, but in this case, for the purpose of returning the merchandise to the supplier. This is the type of transfer that is created when a mass-return transfer is created, for example. Because it has some unique rules tied to it related to MRTs, some additional validations are followed:

Can only be created in Input status in this service

Locations must be in the same legal entity

SIM Generated (SIM)

SIM generated transfers are created only by the store orders process in SIM. This functionality is not available in SIOCS. Because of this, they have special rules applied, including the ability to create the transfer even though no item/store relationship exists for the originating location in Merchandising. The rules that apply for this type of transfer include:

Must be created in Approved status

Supports transferring packs from stores

Allows the department number to be passed even when the Merchandising system option is No

Can be an intercompany transfer

All Transfer Types

For all of the above transfer types, if all validation described above passes, then the transfer will be created. If the transfer is created in Approved status, then in addition to the transfer itself, other details may also be created based on the items and locations involved.

Inventory will be updated to reflect the reserved quantity at the from location and expected quantity at the to location.

Upcharges will be applied, if configured, for transfers that do not include a physical warehouse location. For transfers with a physical warehouse, the records for upcharges are added when the transfer is shipped.

An associated franchise order or return will be created if the transfer involves a franchise location.

Transfers with Finishing

Transfers with finishing are sometimes referred to as a two-legged transfer, as they generate two transfers in Merchandising. One from the originating store or warehouse to the finisher and one from the finisher back to a store or warehouse. This service supports the creation of a transfer with finishing only through an external finisher, a type of partner, and back to the originating location. Transfers to an internal finisher are not supported via this integration. To do this, when sending the transfer details in the message, you will indicate the external finisher as the to location. Then when the transfer is created, it will automatically generate the second leg.

When creating transfers in this way, it does not generate any work order activities to send to the finisher with the transfer. These will either need to be added manually in the Merchandising screens, or sent separately to the finisher.

Flex Attributes

If you have defined any custom flex attributes (CFAS) for transfers, then they can be integrated as part of this service. The node of the integration that supports this will accept the name of the attribute as it is defined in the group set level view and the value for the attribute. Flex attributes can only be added or updated to a transfer, they cannot be deleted. Additionally, for transfers with finishing, flex attributes can only be added to the first leg of the transfer.

Location Validation

The from and to locations passed into the message must be valid stores or warehouses in Merchandising; but they cannot be the same. If both locations are stores, then they must both exist in the same transfer zone. Additionally, if the to location is a store, then it must be open. This is determined based on whether there is a close date defined for the store and the stop order days.

If either location is a warehouse, then it can be either a physical warehouse or a virtual warehouse, depending on transfer type. A physical warehouse is only allowed as the from location type for an EG type of transfer. Additionally, only Book type transfers are allowed between two warehouses in the same physical warehouse.

If either the from or to location is a franchise store, then the other location cannot be a finisher. If the franchise store is a non-stockholding location, then the other location on the transfer must be a warehouse.

Validation is also done at the item level based on the locations on the transfer. Each item on the transfer must be in active, inactive, or discontinued status at the from location. It also must have been ranged to the from location in Merchandising, when that location is a warehouse. However, if the from location is a store, there is an exception where the transfer can still be created even though it is not yet ranged, which also bypasses inventory validation. This is to support a specific function in Oracle Retail Store Inventory Management (SIM). If the item is not already ranged to the to location, then ranging will occur when the transfer is created, regardless of status. The ranging that occurs will flag the item/location as unintentionally ranged for all transfer types except service. If the to location is an external finisher, see the section below on transfers with finishing.

Inventory Validation

Another part of the validation that is applicable for all transfers created is that inventory is available for transfer if the status passed through the integration is approve (A), with a few exceptions. First, EG type transfers do not have inventory validated as it is assumed that this type of transfer is generated in the store or warehouse and the inventory availability check has been done in that solution as part of the shipping of the inventory. Additionally, if the system option titled Validate External Warehouse Availability is set to No (unchecked), then warehouse inventory will not be validated for any transfers initiated in this service regardless of type. Store inventory availability is never validated by this service because of support for the process where the item does not need to be ranged to the shipping store.

Status Validation

Transfers can be created in a status of Input (I) or Approved (A) using this service. Transfers in input status are not subject to inventory validation, but all other validations are applicable. Book type transfers can only be created in Input status using this service, as there isn’t really a concept of an ‘approved’ book transfer. As soon as it is approved it is executed. Additionally, transfers of type Reallocation (RAC) and Return to Vendor (RV) can also only be created in Input status. Conversely, transfers of type AIP, SIM, and EG must always be created in Approved status. If any validation fails when processing the new transfer that results in it not being able to be approved, the transfer will be created but will remain in input status. The exception to this is for transfers of type AIP, SIM, and EG, as they must always be created in approved status. If they are not able to be approved, the transfer is not created or updated.

Transfer Type Specific Validation

Most of the validation defined above is relevant regardless of transfer type, except where noted. However, there are also some other validations done as part of this service processing that are specific to a type of transfer.

Administrative (AD)
  • See Manual Requisition (MR)
Service Type

This type of transfer is expected only to be sent from AIP as an output of the replenishment process. As such, Merchandising assumes certain validations have been done by AIP in advance of receiving the transfer and slightly different validation is enforced. The following special validations apply for this transfer type using this service:

  • Must be created in Approved status

  • Can only be to stockholding locations

  • Supports transferring packs from stores

  • Allows the department number to be passed even when the system option is N

  • Item/location ranging to the to location will result in the Ranged flag being set to Yes as it is assumed this an intentional ranging.

  • Can be an intercompany transfer

Book (BT)

Book transfers processed through this service can be created for two virtual warehouses in the same physical warehouse only. This is usually used for inventory rebalancing between virtual locations. The following special validations apply for this transfer type using this service:

  • Can only be created in Input status

  • Can only be created for virtual warehouses in the same physical warehouse

  • Warehouses must be in the same legal entity

Confirmation (CF)
  • See Manual Requisition (MR)
Externally Generated (EG)

Externally Generated transfers are assumed to be created in the store or warehouse. Further, it is assumed that once they get to Merchandising, the transfer is already in process at that location. As such, there are certain validations that are managed differently for this transfer type in this service:

  • Must be created in Approved status

  • Supports transferring packs from stores

  • Allows the department number to be passed even when the system option is N

  • Can be an intercompany transfer

  • Uses the physical warehouse number, not a virtual warehouse number, if warehouses are involved

Intercompany (IC)

An intercompany transfer is a type of business to business transaction that sells product from one legal entity and purchases it into another. Legal entities in Merchandising are determined based on the setting of the Intercompany Basis system option, which indicates whether the transfer entity or the set of books of a location should be used. This transfer type is used when either it is explicitly passed into the service or if the transfer type is NULL in the inbound message and the locations are in different legal entities. Other transfer types may also be intercompany, as well, but the below rules apply for those flagged as intercompany type explicitly:

  • The legal entity of the from and to locations must be different.

  • If an adjustment type or value is passed into the message, that will be used to calculate the ‘selling’ price between entities. Otherwise, the from location’s weighted average cost is used

Manual Requisition (MR)

This is the most basic type of transfer in Merchandising, so it is used as a default transfer type when either it is explicitly passed into the service or if the transfer type is NULL in the inbound message and the locations are in the same legal entity. The behavior for this transfer type is the same as that for AD and CF types of transfers, those could be used as different reasons for a transfer. For this transfer type the following validation rules are enforced:

  • Locations must be in the same legal entity
Reallocation (RAC)

A reallocation transfer is assumed to be used to pull back inventory from stores or warehouses to a single warehouse for re-allocation to other stores or other warehouses. This is the type of transfer that is created when a mass-return transfer is created, for example. Because it has unique rules tied to it related to MRTs, some additional validations are followed:

  • Can only be created in Input status in this service

  • Locations must be in the same legal entity

Return to Vendor (RV)

A return to vendor type of transfer is similar to a reallocation type, in that it is assumed to be pulling inventory back to a warehouse from stores or other warehouses, but in this case, for the purpose of returning the merchandise to the supplier. This is the type of transfer that is created when a mass-return transfer is created, for example. Because it has some unique rules tied to it related to MRTs, some additional validations are followed:

  • Can only be created in Input status in this service

  • Locations must be in the same legal entity

SIM Generated (SIM)

SIM generated transfers are created only by the store orders process in SIM. This functionality is not available in SIOCS. Because of this, they have special rules applied, including the ability to create the transfer even though no item/store relationship exists for the originating location in Merchandising. The rules that apply for this type of transfer include:

  • Must be created in Approved status

  • Supports transferring packs from stores

  • Allows the department number to be passed even when the Merchandising system option is No

  • Can be an intercompany transfer

All Transfer Types

For all of the above transfer types, if all validation described above passes, then the transfer will be created. If the transfer is created in Approved status, then in addition to the transfer itself, other details may also be created based on the items and locations involved.

  • Inventory will be updated to reflect the reserved quantity at the from location and expected quantity at the to location.

  • Upcharges will be applied, if configured, for transfers that do not include a physical warehouse location. For transfers with a physical warehouse, the records for upcharges are added when the transfer is shipped.

  • An associated franchise order or return will be created if the transfer involves a franchise location.

Transfers with Finishing

Transfers with finishing are sometimes referred to as a two-legged transfer, as they generate two transfers in Merchandising. One from the originating store or warehouse to the finisher and one from the finisher back to a store or warehouse. This service supports the creation of a transfer with finishing only through an external finisher, a type of partner, and back to the originating location. Transfers to an internal finisher are not supported via this integration. To do this, when sending the transfer details in the message, you will indicate the external finisher as the to location. Then when the transfer is created, it will automatically generate the second leg.

When creating transfers in this way, it does not generate any work order activities to send to the finisher with the transfer. These will either need to be added manually in the Merchandising screens, or sent separately to the finisher.

Flex Attributes

If you have defined any custom flex attributes (CFAS) for transfers, then they can be integrated as part of this service. The node of the integration that supports this will accept the name of the attribute as it is defined in the group set level view and the value for the attribute. Flex attributes can only be added or updated to a transfer, they cannot be deleted. Additionally, for transfers with finishing, flex attributes can only be added to the first leg of the transfer.

Service Type
POST
ReST URL
MerchIntegrations/services/inventory/transfers/create
Input Payload Details

Table 5-369 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection of ObjectReferences a collection
of transfers.

Table 5-370 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
transferNoYesNumber (12)Number that uniquely
identifes the transfer.
fromLocationTypeYesString (1)The location type of
the from location.
Valid values are ‘S’ and
’W’.
fromLocationYesNumber (10)The location number
of the from location.
toLocationTypeYesString (1)The location type of
the to location. Valid
values are ‘S’, ‘W’ and
’E’
toLocationYesNumber (10)The location number
of the to location.
deliveryDateNodateThe earliest date the
transfer can be
delivered. When
Inventory Planning is
part of your
implementation, this is
required for all
transfer types, except
RAC, EG, and Store
Inventory Operations
transfers. If included
in the message, this
must be today or a
future date.
expectedDcDateNodateThe date that the
transfer is expected to
be shipped at the
warehouse. If included
in the message, this
must be today or a
future date.

Table 5-370 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
departmentNoNumber (4)The department
number associated
with the transfer. A
system option
determines whether or
not the department is
required for transfers.
If the system option is
set to require a
department, then this
must be included in
the message. If the
system option is set to
not require the
department, then the
department must be
null in this message
unless the transfer
type is SIM (Store
Inventory Operations),
AIP (Inventory
Planning), or EG
(Externally
Generated).
routingCodeNoString (1)If the freight code is
Expedite (E), then this
must have a value.
Otherwise, it must be
null. The descriptions
for these three options
are held in the Codes
table under code TRRC
and can be confgured
as needed for your
business. Examples
are Federal Express
(1), UPS (2) and mail
(3).
freightCodeNoString (1)A code indicating the
freight status of the
transfer (e. g. normal,
expedite, etc. ).

Table 5-370 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
transferTypeNoString (6)A code indicating the
type of transfer (e. g.
store requisition, book
transfer, etc. ). The
following types of
transfers can be
created in this service:
Administrative (AD),
Inventory Planning
Generated (AIP), Book
(BT), Confrmation
(CF), Externally
Generated (EG),
Intercompany (IC),
Manual Requisition
(MR), Reallocation
(RAC), Return to
Vendor ,(RV) and Store
Inventory Operations
Generated (SIM).
detailsNoCollection of ObjectReferences a collection
of transfer details.
statusNoString (1)A code indicating the
status of the transfer.
Valid values are ‘I’ and
’A’.
createdByNoString (30)The userid of the user
who created the
transfer.
commentsNoString (2000)Comments associated
with the transfer.
contextTypeNoString (6)This feld holds the
reason code related to
which a transfer is
made. Valid values are
found in the code type
CNTX. Examples are
Promotion (PROM),
Customer Transfer
(WED), Store
Requisition (STORE)
and Repairing
(REPAIR).
contextValueNoString (25)This feld holds the
value relating to the
context type like
Promotion number.

Table 5-370 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
customFlexAttributeNoCollection of ObjectReferences a collection
of custom fexible
attributes. This
collection is treated as
a single group and
should include all
named fexible
attributes for the
business entity. If any
confgured named
attribute is missing
from the input
collection, its value
will be set to NULL

Table 5-371 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer
of the item being
transferred.
transferQuantityYesNumber (12,4)The total quantity of
the item reserved for
this transfer at the
from location.
supplierPackSizeNoNumber (12,4)The supplier pack size
for this item/transfer.
invStatusNoNumber (2)A code indicating the
inventory status for
this transfer detail.
Valid values are found
on the
inv_status_types table.

Table 5-371 (Cont.) Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
adjustmentTypeNoString (6)This feld, along with
the adjustment value,
is used to calculate the
transfer price for
intercompany
transfers. It will be
ignored for all other
transfers. If the
adjustment value is
provided, then the
type must also be
specifed. Valid values
are: ‘IA’, ‘IP’, ‘DA’, ‘DP’,
‘S’. IA and IP can only
be used if you have
your system options
set to allow the
transfer price to
exceed weighted
average cost.
adjustmentValueNoNumber (20,4)If the adjustment type
is provided, then the
value must also be
specifed. This must
always be a positive
amount.

Table 5-372 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute
name.
valueNoString (250)Holds the numeric or
string value of the
attribute.
valueDateNodateHolds the date value of
the attribute.
Sample Input Message
{
"items": [
{
"transferNo": 12300056,
"fromLocationType": "S",
"fromLocation": 1521,
"toLocationType": "S",
"toLocation": 1511,
"deliveryDate": "2001-12-31",
"expectedDcDate": "2001-12-31",
"department": null,
"routingCode": null,
"freightCode": "N",
"transferType": "AD",
"details": [
{
"item": "104100022",
"transferQuantity": 3,
"supplierPackSize": 3,
"invStatus": 1,
"adjustmentType": "IA",
"adjustmentValue": 3.6
}
],
"status": "I",
"createdBy": "RMS01APP",
"comments": "transfer to loc 1511",
"contextType": "PROM",
"contextValue": "2255",
"customFlexAttribute": [
{
"name": "REVIEW_DATE",
"value": null,
"valueDate": "2001-12-31"
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}
Delete Transfer Details

Functional Area

Inventory - Transfers and Allocations

Business Overview

This service is used to delete line items from one or more existing transfers at a time in Merchandising.

If you are deleting a detail on the transfer, this service will validate that the transfer number is valid and that the transfer or transfer line was not already shipped or received, at least partially, or is not in process at the shipping warehouse or store. Validation will be done to ensure that the item exists on the transfer after transfer line level deletes have been performed. Deleting the last line on the transfer will result in the transfer being flagged for delete.

If the transfer is in a status other than input, deleting a line will also update inventory to release the reserved inventory at the from location and decrease expected quantity at the to location. As well, if the transfer involves any franchise stores, then any franchise order or return created with the transfer will also be cancelled.

Service Type

DELETE

ReST URL

MerchIntegrations/services/inventory/transfer/details/delete

Input Payload Details

Table 5-373 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection ofReferences a collection of transfers.
Object

Table 5-374 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
transferNoYesNumber (12)The transfer number where info is
being deleted from.
detailsNoCollection ofReferences collection of transfer
Objectdetails

Table 5-375 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The item for which transfer info is
being deleted.
Sample Input Message
{
  "items": [
    {
      "transferNo": 12300056,
      "details": [
        {
          "item": "100100076"
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message

{
  "status": "SUCCESS",
  "message": "Service call is successful"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message

{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}
Delete Transfers

Functional Area

Inventory - Transfers and Allocations

Business Overview

This service is used to to delete one or more transfers from Merchandising.

When deleting a transfer, this API will validate that the transfer number is valid and that the transfer or transfer line has not already shipped or received already or is not undergoing any processing at the shipping warehouse or store. Transfers are not actually deleted via this API, rather they are updated to a deleted status and a secondary process does the actual removal. If you want to delete the entire transfer, then no detail level records should be included in the message.

Transfers can be deleted in any status, other than ones that are already in a closed or deleted status. If the transfer involves an external finisher, then both legs of the transfer will be marked for deletion. If the transfer is in a status other than Input, then moving it to a deleted status will also update the related inventory data to release the reserved inventory at the source location and decrease the expected quantity at the destination location. If the transfer involves any franchise stores, then the franchise order or return that was created with the transfer will also be cancelled.

Service Type
DELETE

ReST URL

MerchIntegrations/services/inventory/transfers/delete

Input Payload Details

Table 5-376 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection of
Object
References a collection of transfers.

Table 5-377 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
transferNoYesNumber (12)This is the transfer being deleted.
Sample Input Message
{
  "items": [
    {
      "transferNo": 12300001
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}
Update Transfer Details

Functional Area

Inventory - Transfers and Allocations

Business Overview

This service is used to modify line items for one or more existing transfers at a time in Merchandising.

To add or update a line item - only the transfer number is required in the header record, the other details are ignored. If not included, then the message will be rejected. Adding a new item to the transfer will use similar validations when creating the transfer.

If modifying an existing transfer line item, the full transfer quantity should be sent with the update, not the difference from the original quantity. This will be compared to the previous transfer quantity to determine how to update the transfer. For example, if the transfer is in approved or submitted status, a reduction in quantity would update the cancelled quantity on the transfer. It will also be validated to ensure that the quantity change doesn’t result in the total transfer quantity being lower than what has already been shipped or what is expected to be picked based on updates to the selected or distro quantities on the transfer. For increases in transfer quantity, if the transfer is in submitted or approved status, then inventory will be validated based on the changed quantity (depending on system option settings) to validate that the additional units are available. The inventory status for the item cannot be modified.

For more information about transfer, see the Create Transfer service.

Service Type

PUT

ReST URL

MerchIntegrations/services/inventory/transfer/details/update

Input Payload Details

Table 5-378 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection ofReferences a collection of transfers.
Object

Table 5-379 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
transferNoYesNumber (12)Number that uniquely identifes the
transfer.
fromLocationTypeYesString (1)The location type of the from
location. Valid values are ‘S’ and ‘W’.
fromLocationYesNumber (10)The location number of the from
location.
toLocationTypeYesString (1)The location type of the to location.
Valid values are ‘S’, ‘W’ and ‘E’
toLocationYesNumber (10)The location number of the to
location.
detailsNoCollection of
Object
References collection of transfer
details

Table 5-380 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the item
being transferred.
transferQuantityYesNumber
(12,4)
The total quantity of the item
reserved for this transfer at the from
location.
supplierPackSizeNoNumber
(12,4)
The supplier pack size for this item/
transfer.
invStatusNoNumber (2)A code indicating the inventory status
for this transfer detail. Valid values
are found on the inv_status_types
table.

Table 5-380 (Cont.) Details - Object. See list of elements for detail

Element Name
Required
Data TypeDescription
adjustmentType
No
String (6)This feld, along with the adjustment
value, is used to calculate the transfer
price for intercompany transfers. It
will be ignored for all other transfers.
If the adjustment value is provided,
then the type must also be specifed.
Valid values are: ‘IA’, ‘IP’, ‘DA’, ‘DP’, ‘S’.
IA and IP can only be used if you
have your system options set to allow
the transfer price to exceed weighted
average cost.
adjustmentValue
No
Number
(20,4)
If the adjustment type is provided,
then the value must also be specifed.
This must always be a positive
amount.
Sample Input Message
{
"items": [
{
"transferNo": 12300056,
"fromLocationType": "S",
"fromLocation": 1521,
"toLocationType": "S",
"toLocation": 1511,
"details": [
{
"item": "104100022",
"transferQuantity": 3,
"supplierPackSize": 3,
"invStatus": 1,
"adjustmentType": "IA",
"adjustmentValue": 3.55
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}
Update Transfers

Functional Area

Inventory - Transfers and Allocations

Business Overview

This service is used to update transfers in Merchandising at the header level. The transfer number included in the message must already exist in Merchandising. All the required header level information needs to be included in the update, similar to that for creating a new transfer. Fields that can be updated at the header level using this service include:

  • Delivery Date - Must always be a date today or later.

  • Routing Code - If the freight code is updated to expedite ( E ), then this must also have a value. If freight code is updated to something other than expedite, then this should be null.

  • Freight Code

  • Status - Used to move from Input or Submitted to Approved only. Transfers cannot be moved back to Input status using this API.

  • Comments

  • Context Type

  • Context Value

Service Type

PUT

ReST URL

MerchIntegrations/services/inventory/transfers/update
Input Payload Details

Table 5-381 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection of ObjectReferences a collection
of transfers.

Table 5-382 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
transferNoYesNumber (12)Number that uniquely
identifes the transfer.
fromLocationTypeYesString (1)The location type of
the from location.
Valid values are ‘S’ and
’W’.
fromLocationYesString (10)The location number
of the from location.
toLocationTypeYesString (1)The location type of
the to location. Valid
values are ‘S’, ‘W’ and
’E’
toLocationYesString (10)The location number
of the to location.
deliveryDateNodateThe earliest date the
transfer can be
delivered. When
Inventory Planning is
part of your
implementation, this is
required for all
transfer types, except
RAC, EG, and SIM
transfers. If included
in the message, this
must be today or a
future date.
expectedDcDateNodateThe date that the
transfer is expected to
be shipped at the
warehouse. If included
in the message, this
must be today or a
future date.

Table 5-382 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
routingCodeNoString (1)If the freight code is
Expedite (E), then this
must have a value.
Otherwise, it must be
null. The descriptions
for these three options
are held in the Codes
table under code TRRC
and can be confgured
as needed for your
business. Examples
are Federal Express
(1), UPS (2) and mail
(3).
transferTypeNoString (6)A code indicating the
type of transfer (e. g.
store requisition, book
transfer, etc. ). The
following types of
transfers can be
created in this service:
Administrative (AD),
Inventory Planning
Generated (AIP), Book
(BT), Confrmation
(CF), Externally
Generated (EG),
Intercompany (IC),
Manual Requisition
(MR), Reallocation
(RAC), Return to
Vendor ,(RV) and Store
Inventory Operations
Generated (SIM).
statusNoString (1)A code indicating the
status of the transfer.
Valid values are ‘I’ and
’A’.
createdByNoString (30)The userid of the user
who created the
transfer.
commentsNoString (2000)Comments associated
with the transfer.

Table 5-382 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
contextTypeNoString (6)This feld holds the
reason code related to
which a transfer is
made. Valid values are
found in the code type
CNTX. Examples are
Promotion (PROM),
Customer Transfer
(WED), Store
Requisition (STORE)
and Repairing
(REPAIR).
contextValueNoString (25)This feld holds the
value relating to the
context type like
Promotion number.
customFlexAttributeNoCollection of ObjectReferences a collection
of custom fexible
attributes. This
collection is treated as
a single group and
should include all
named fexible
attributes for the
business entity. If any
confgured named
attribute is missing
from the input
collection, its value
will be set to NULL

Table 5-383 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute
name.
valueNoString (250)Holds the numeric or
string value of the
attribute.
valueDateNodateHolds the date value of
the attribute.
Sample Input Message
{
"items": [
{
"transferNo": 12300056,
"fromLocationType": "S",
"fromLocation": "1521",
"toLocationType": "S",
"toLocation": "1511",
"deliveryDate": "2001-12-31",
"expectedDcDate": "2001-12-31",
"routingCode": null,
"transferType": "AD",
"status": "A",
"createdBy": "RMS01APP",
"comments": "transfer to loc 1511",
"contextType": "PROM",
"contextValue": "2255",
"customFlexAttribute": [
{
"name": "REVIEW_DATE",
"value": null,
"valueDate": "2001-12-31"
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Work Order Status Upload Service

The following services are included in this functional area:

  • Update Work Orders Status
Update Work Orders Status

Functional Area

Inventory - Transfers and Allocations

Business Overview

For transfers with finishing, Merchandising subscribes to Work Order Status messages sent from internal finishers indicating that the work order activities are complete. This message is used for internal finishers located in the same physical warehouse as the final destination for the transfer, as there is no physical shipment of goods. Other finishing scenarios exist in which the finisher is not a virtual warehouse that shares a physical warehouse with the transfer’s final receiving location. In these instances, Work Order Status messages are not necessary, and Merchandising will disregard Work Order Status messages sent in these scenarios.

Work order status messages contain the items for which the activities have been completed along with the quantity that was completed. All items on transfers that pass through an internal finisher must have at least one work order activity associated with them. When Work Order status messages are received for a particular item/quantity, it is assumed that all activities on the work order associated with the item/quantity have been completed. If work order activities involve item transformation or repacking, the work order status messages are always created in terms of the resultant item or pack.

On processing the work order status update, a book transfer is executed between the internal finisher (which is held as a virtual warehouse) and the final receiving location (also a virtual warehouse). If the internal finisher belongs to the sending location’s transfer entity, intercompany out and intercompany in transactions are recorded. Quantities on hand, reserved quantities, and weighted average costs are adjusted to accurately reflect the status of the stock.

It is possible to receive multiple Work Order Status messages for a particular item/transfer. Work order completion of partial quantities addresses the following scenarios:

1. Work order activities could not be performed for the entire quantity of a particular item at one time.

2. A given quantity of the particular item was damaged while work order activities were performed.

Work Order Example

Assume that a quantity of 20 of item 100 (White XL T-shirt) are sent to an internal finisher at the receiving physical warehouse, where they will be dyed black, thereby transforming them into item 101 (Black XL T-shirt). If all finishing activities were successfully completed in this example, Merchandising could expect to receive a Work Order Status message containing item 101 with a quantity of 20.

Work Order Update Process

While consuming the Work Order Status message, Merchandising validates that the finisher and the transfer’s final receiving location are in the same physical warehouse. If not, processing is halted. If the message contains an item, work order complete processing will be called for that item. Otherwise, said processing will be called for all items on the transfer. If the

entire transfer is processed, the child transfer (that is, the second leg) will be set to Shipped status. Note that work orders are always associated with the second leg of multi-leg transfers. Whether processing is performed at the item or transfer level, transfer closing logic will be used to determine if the entire multi-leg transfer can be closed.

Service Type

PUT

ReST URL
MerchIntegrations/services/inventory/transfer/workOrdersStatus/update

Input Payload Details

Table 5-384 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of work
Objectorders.

Table 5-385 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
transferNoYesNumber (12)This feld contains the identifer of
the transfer during which the work
order activities will be performed.
For 2-legged transfers, this is the
transfer number of the 1st leg
transfer.
parentTransferNoNoNumber (12)The higher level transfer that this
transfer is part of.
itemNoString (25)The item on which the work order
has been completed. If an item
transformation occurred, this should
be the resultant item. This should be
populated if completedQty is
provided.
locationYesNumber (10)This is the fnisher location.
completeDateYesdateThis is the workorder completion
date. If this is not provided, the value
will be defaulted to the current date.
completedQuantityNoNumber
(12,4)
The quantity of the item on which
work has been completed. This
should be provided if item is
provided.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "transferNo": 100000135001,
      "parentTransferNo": 100000135000,
      "item": "101300002",
      "location": 15000,
      "completeDate": "2001-12-31",
      "completedQuantity": 1
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Work Order Download Service

The following services are included in this functional area:

  • Purchase Order Work Order Publish Services

  • Transfer Work Order Publish Services

Purchase Order Work Order Publish Services

Endpoints

MerchIntegrations/services/inventory/woin
MerchIntegrations/services/inventory/woin/{workOrderId}

Functional Area

Inventory – Work Orders

Business Overview

This service publishes work-order-in data to downstream consuming systems. The payload is keyed by the work order ID and publishes one header row together with its detail lines. Functionally, the JSON view builds the payload directly from WO_HEAD and WO_DETAIL.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: WO_HEAD, WO_DETAIL

Additional business tables: none

JSON cache table: MERCHAPI_EXT_WOIN

JSON generation view: V_MERCHAPI_EXT_WOIN_JSON

Builds the payload directly from WO_HEAD and WO_DETAIL.

Functionally, the payload is keyed by WO_HEAD.WO_ID and publishes one header row with an array of detail lines.

Refresh loads rows from V_MERCHAPI_EXT_WOIN_JSON into the cache, rebuild compares the current payload against the live cache by MD5 and republishes changed rows, and rows that no longer exist in WO_HEAD are marked deleted.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild pull published rows from V_MERCHAPI_EXT_WOIN_JSON. No additional filter criteria were identified beyond the cache-build logic.

Delete handling can mark a cache row deleted when the source WO_HEAD row no longer exists.

ICL (Integration Change Log) table: ICL_RMS_WOIN (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on WO_HEAD, WO_DETAIL.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_WOIN

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_WO_IN_ADHOC_PROCESS MERCHAPI_EXT_WO_IN_ADHOC_JOB

Webhook configuration api name: inventory/woin

Special handling

Additional GET query parameters: orderNo.

Service Type
GET
ReST URL

MerchIntegrations/services/inventory/woin

MerchIntegrations/services/inventory/woin/{workOrderId}

Input Parameters for MerchIntegrations/services/inventory/woin

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
orderNoNoNumberOrderNo
offsetkeyNoStringOffset key
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-386 Input Parameter for “MerchIntegrations/services/inventory/woin/ {workOrderId}“

Parameter NameRequiredData TypeDescription
workOrderIdYesNumber
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Input Parameters for MerchIntegrations/services/inventory/woin/{workOrderId}

Parameter NameRequire
d
Data TypeDescription
workOrderIdYesNumberThis is the unique identifer for work in
process associated with an order.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Output – WO In Head

Table 5-387 PageResultsItemsMerchApiWorkOrderIn - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-388 MerchApiWorkOrderIn - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for Work Order
In details.
workOrderIdNoNumber(10,0)This feld contains the
unique identifer for
work in process
associated with an
order or transfer.
orderNoNoNumber(12,0)This feld contains the
order number
associated with the
work order.

Table 5-388 (Cont.) MerchApiWorkOrderIn - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis column holds the
record creation date.
detailsNoCollection of ObjectThis List holds
attributes for details of
Work Order In record.
cacheTimestampNodateTimeThis feld specifes
date and time when
the Work Order In
record was last
maintained.
cacheCreateTimestam
p
NodateTimeThis feld specifes
date and time when
the record was frst
created for web
service publication.

Table 5-389 WorkOrderInDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
warehouseNoNumber(10,0)This feld holds the
physical warehouse
where the work order
will be done.
itemNoString (25)This feld holds the
item on which the
work order will be
done.
locationTypeNoString (1)This feld holds the
location type of the
fnal destination.
locationNoNumber(10,0)This feld holds the
fnal destination for
the item on the order.
If the item is pre-
distributed this
location will be the
store or warehouse on
the allocation. If not, it
will be the same
warehouse as above.
sequenceNoNoNumber(4,0)This feld holds the
sequence number that
is needed to ensure
each record is unique,
since the same work-
in-progress code can
be listed more than
once on the same
work order.

Table 5-389 (Cont.) WorkOrderInDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
activityCodeNoString (6)This feld holds the
WIP code for the work
to be done on the item.
Valid values are in the
codes table under the
WWIP code type.
createDateTimeNodateTimeThis column holds the
record creation date.

Table 5-390 LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description href No String Service URL rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "workOrderId": 1, "orderNo": 545005, "createDateTime": "2001-12-31T23:59:59.000Z", "details": [ { "warehouse": 1, "item": "101300002", "locationType": "S", "location": 15000, "sequenceNo": 1, "activityCode ": "12122", "createDateTime": "2001-12-31T23:59:59.000Z" } ], "cacheTimestamp": "2001-12-31T23:59:59.000Z", "cacheCreateTimestamp": "2001-12-31T23:59:59.000Z" } ], "hasMore": true, "limit": 1000, "count": 1000,

"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}

Output – WO In Detail

NameData TypeDescription
warehouseNumberThis feld holds physical warehouse where the
work order will be done.
itemStringThis feld holds item on which the work order
will be done.
locationTypeStringThis feld holds location type of the fnal
destination.
locationNumberThis feld holds fnal destination for the item on
the order. If the item is pre-distributed this
location will be the store or warehouse on the
allocation. If not, it will be the same warehouse
as above.
sequenceNoNumberThis feld holds sequence number that is
needed to ensure each record is unique, since
the same work-in-progress code can be listed
more than once on the same work order.
activityCodeStringThis feld holds WIP code for the work to be
done on the item. Valid values are in the codes
table under the WWIP code type.
createDateTimeStringThis column holds the record creation date.

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON output:
  "items": [
    {
      "action": "INSERT",
      "workOrderId": 10007,
      "orderNo": 10001,
      "createDateTime": "2021-05-13T19:47:33.000Z",
      "details": [
        {
          "warehouse": 5,
          "item": "101550001",
          "locationType": "W",
          "location": 5,
          "sequenceNo": 1,
          "activityCode ": "QC",
          "createDateTime": "2021-05-13T19:47:49.000Z"
        }
      ],
      "cacheTimestamp": "2021-06-21T05:42:18.934Z"
    },
    {
      "action": "UPDATE",
      "workOrderId": 15001,
      "orderNo": 655005,
      "createDateTime": "2021-08-05T03:17:27.000Z",
      "details": [
        {
          "warehouse": 2,
          "item": "100950020",
          "locationType": "W",
          "location": 2,
          "sequenceNo": 2,
          "activityCode ": "QC",
          "createDateTime": "2021-08-05T03:20:54.000Z"
        },
        {
          "warehouse": 2,
          "item": "100950062",
          "locationType": "W",
          "location": 2,
          "sequenceNo": 4,
          "activityCode ": "KIT",
          "createDateTime": "2021-08-05T12:08:03.000Z"
        },
        {
          "warehouse": 2,
          "item": "100950062",
          "locationType": "W",
          "location": 2,
          "sequenceNo": 3,
          "activityCode ": "TICKET",
          "createDateTime": "2021-08-05T03:32:18.000Z"
        },
        {
          "warehouse": 2,
          "item": "100950062",
          "locationType": "W",
          "location": 2,
          "sequenceNo": 2,
          "activityCode ": "QC",
          "createDateTime": "2021-08-05T03:20:54.000Z"
        },
        {
          "warehouse": 2,
          "item": "100950020",
          "locationType": "W",
          "location": 2,
          "sequenceNo": 4,
          "activityCode ": "KIT",
          "createDateTime": "2021-08-05T12:08:03.000Z"
        },
        {
          "warehouse": 2,
          "item": "100950020",
          "locationType": "W",
          "location": 2,
          "sequenceNo": 3,
          "activityCode ": "TICKET",
          "createDateTime": "2021-08-05T03:32:18.000Z"
        }
      ],
      "cacheTimestamp": "2021-08-05T12:08:56.163Z"
    },
  ],
  "hasMore": false,
  "limit": 10000,
  "count": 2,
  "links": [
    {
      "href": "https://<hostname>:<port>/rgbu-rex-rgbu-dev1-mfcs19-1/
MerchIntegrations/services/inventory/woin?
limit=10000&since=1970-01-01T00:00:00.001Z&before=2022-03-26T02:28:02.971902+0
0:00",
      "rel": "self"
    }
  ]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_WOINYesNoYesYes
TABLESELECTINSERTUPDATEDELETE
MERCHAPI_EXT_WOINYesYesYesYes
V_ MERCHAPI_EXT_WOIN _JSONYesNoNoNo
Transfer Work Order Publish Services
Endpoints
MerchIntegrations/services/inventory/woout
MerchIntegrations/services/inventory/woout/{workOrderId}

Functional Area

Inventory – Work Orders

Business Overview

This service publishes work-order-out data to downstream consuming systems. It publishes transfer work orders together with the related transfer and work-order detail built for outbound fulfillment. Functionally, the view only publishes transfer work orders whose source transfer location resolves to either a warehouse or an external finisher partner, and refresh and rebuild only load transfers whose TSFHEAD.APPROVAL_DATE is not null.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: TSF_WO_DETAIL, TSF_WO_HEAD, TSFDETAIL, TSF_XFORM_DETAIL, TSF_PACKING_DETAIL, TSFHEAD

Additional business tables: TSF_XFORM, TSF_PACKING, WH, PARTNER

JSON cache table: MERCHAPI_EXT_WOOUT

JSON generation view: V_MERCHAPI_EXT_WOOUT_JSON

The payload is assembled from transfer work-order data in TSF_WO_DETAIL, TSF_WO_HEAD, TSFDETAIL, TSF_XFORM_DETAIL, TSF_XFORM, TSF_PACKING_DETAIL, TSF_PACKING, TSFHEAD, WH, and PARTNER.

The view only publishes transfer work orders whose source transfer location resolves to either a warehouse or an external finisher partner, and the refresh/rebuild logic only loads transfers whose TSFHEAD.APPROVAL_DATE is not null.

Insert and update events republish the JSON payload as a merge, while direct delete events only mark the cache row deleted when a live cache row still exists.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_EXT_WOOUT_JSON and apply refresh and rebuild only load rows where TSFHEAD.APPROVAL_DATE is not null.

ICL (Integration Change Log) table: ICL_RMS_WOOUT (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on TSF_WO_DETAIL, TSF_WO_HEAD, TSFDETAIL, TSF_XFORM_DETAIL, TSF_PACKING_DETAIL, TSFHEAD.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_WOOUT

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_WO_OUT_ADHOC_PROCESS MERCHAPI_EXT_WO_OUT_ADHOC_JOB

Webhook configuration api name: inventory/woout

Special handling

Additional GET query parameters: tsfNo.

Service Type

GET

ReST URL

MerchIntegrations/services/inventory/woout

MerchIntegrations/services/inventory/woout/{workOrderId}

Input Parameters for MerchIntegrations/services/inventory/woout

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
tsfNoNoNumberTransferNo
offsetkeyNoStringOffset key
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-391 Input Parameter for “MerchIntegrations/services/inventory/woout/ {workOrderId}“

Parameter NameRequiredData TypeDescription
workOrderIdYesNumber
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Input Parameters for MerchIntegrations/services/inventory/woout/{workOrderId}

Parameter NameRequire
d
Data TypeDescription
workOrderIdYesNumberThis is the unique identifer for work in
process associated with an order or transfer.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Output – WO Out Head

Table 5-392 PageResultsItemsMerchApiWorkOrderOut - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object

Table 5-392 (Cont.) PageResultsItemsMerchApiWorkOrderOut - Object. See list of elements for detail

Element NameRequiredData TypeDescription
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-393 MerchApiWorkOrderOut - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for Work Order
Out details.
workOrderIdNoNumber(15,0)This feld contains the
unique identifer for
work in process
associated with an
order or transfer.
distroNoNoNumber(12,0)This feld contains the
frst leg transfer
number of the 2-
legged transfer.
parentDistroNoNoNumber(12,0)This feld contains the
second leg transfer
number of the 2-
legged transfer.
fnisherLocationIdNoNumber(10,0)This feld contains the
destination location
for the transfer.
inventoryTypeNoString (6)This feld contains the
code to indicate
whether the inventory
on the transfer is
available.
createDateTimeNodateTimeThis column holds the
record creation date.
updateDateTimeNodateTimeThis column holds the
record updated date.
activityDetailsNoCollection of ObjectThis List holds
attributes for details of
Work Order Out
record.
transformationDetailsNoCollection of ObjectThis List holds
attributes for details of
Work Order
transformation details
record.
packingDetailsNoCollection of ObjectThis List holds
attributes for details of
Work Order packing
details record.

Table 5-393 (Cont.) MerchApiWorkOrderOut - Object. See list of elements for detail

Element NameRequiredData TypeDescription
cacheTimestampNodateTimeThis feld specifes
date and time when
the Work Order Out
record was last
maintained.
cacheCreateTimestam
p
NodateTimeThis feld specifes
date and time when
the record was frst
created for web
service publication.

Table 5-394 WorkOrderOutDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemNoString (25)This feld contains the
item associated with
the fnishing activity.
activityIdNoNumber(10,0)This feld contains a
code number
indicating the activity
that will be performed
on the item.
activityUnitCostNoNumber(20,4)This feld contains the
per unit cost of the
fnishing activity.
commentsNoString (2000)This feld contains any
comments regarding
this activity.
invStatusNoNumber(2,0)This feld contains the
inventory status of the
transfer detail.
createDateTimeNodateTimeThis column holds the
record creation date.
updateDateTimeNodateTimeThis column holds the
record updated date.

Table 5-395 TransformationDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fromItemNoString (25)This feld contains the
original item on the
transfer.
toItemNoString (25)This feld contains the
item which results
from the fnishing
activity.
createDateTimeNodateTimeThis column holds the
record creation date.

Table 5-395 (Cont.) TransformationDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
updateDateTimeNodateTimeThis column holds the
record updated date.

Table 5-396 PackingDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemNoString (25)This feld contains the
item resulting from
the packing process.
packingSetNoNoNumber(10,0)This feld contains
packing set number
from the packing
process.
recordTypeNoString (1)This feld determines if
the item in the ITEM
feld is being used to
create a pack (F -
From) an item or a
result of the pack
creation process (R -
Result).
quantityNoNumber(12,4)This feld contains the
quantity of the item
used to create the pack
or as a result of the
packing process.
createDateTimeNodateTimeThis column holds the
record creation date.
updateDateTimeNodateTimeThis column holds the
record updated date.

Table 5-397 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"workOrderId": 1,
"distroNo": 100000135001,
"parentDistroNo": 100000135000,
"finisherLocationId": 1,
"inventoryType": "A",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"activityDetails": [
{
"item": "101300002",
"activityId": 12122,
"activityUnitCost": 10,
"comments": null,
"invStatus": 1,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"transformationDetails": [
{
"fromItem": null,
"toItem": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"packingDetails": [
{
"item": null,
"packingSetNo": 1,
"recordType": null,
"quantity": 2,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}

Output – WO Activity Details

NameData TypeDescription
itemStringUnique identifer for the item.
activityIdNumberThis feld contains a code number indicating
the activity that will be performed on the item.
activityUnitCostNumberThis feld contains the per unit cost of the
fnishing activity.
commentsStringThis feld contains any comments regarding
this activity
invStatusStringThis feld contains the inventory status of the
transfer detail.
createDateTimeStringThis column holds the record creation date.
updateDateTimeStringThis column holds the record updated date.

Output – WO Transformation Details

NameData TypeDescription
fromItemStringThis feld contains the original item on the
transfer.
toItemStringThis feld contains the item which results from
the fnishing activity.
createDateTimeStringThis column holds the record creation date.
updateDateTimeStringThis column holds the record updated date.

Output – WO Packing Details

NameData TypeDescription
itemStringThis feld contains the item resulting from the
packing process
packingSetNoNumberThis feld contains packing set number from
the packing process.
recordTypeStringThis feld determines if the item in the ITEM
feld is being used to create a pack (F - From) an
item or a result of the pack creation process (R -
Result).
quantityNumberhis feld contains the quantity of the item used
to create the pack or as a result of the packing
process.
createDateTimeStringThis column holds the record creation date.
updateDateTimeStringThis column holds the record updated date.

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
ElementsDescription
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON output:
  "items": [
    {
    "workOrderId": 1,
    "distroNo": 100000135001,
    "parentDistroNo": 100000135000,
    "finisherLocationId": 15000,
    "inventoryType": "A",
    "createDateTime": "2020-10-31T16:00:00.000Z",
    "updateDatetime": "2021-06-13T09:44:00.000Z",
    "activityDetails": [{
        "item": "101200001",
        "activityId": 2,
        "activityUnitCost": 0.3,
        "comments": "2 pc 1 kit",
        "invStatus": null,
        "createDatetime": "2021-06-11T03:32:34.000Z",
        "updateDateTime": "2021-06-11T03:32:34.000Z"
    }, {
        "item": "101300002",
        "activityId": 3,
        "activityUnitCost": 0.3,
        "comments": null,
        "invStatus": null,
        "createDatetime": "2021-06-11T03:57:54.000Z",
        "updateDateTime": "2021-06-11T03:57:54.000Z"
    }, {
        "item": "101800040",
        "activityId": 2,
        "activityUnitCost": 0.3,
        "comments": null,
        "invStatus": null,
        "createDatetime": "2021-06-11T03:35:58.000Z",
        "updateDateTime": "2021-06-11T03:35:58.000Z"
    }],
    "transformationDetails": [{
        "fromItem": "OMNITESTITEM",
        "toItem": "100000323",
        "createDateTime": "2021-06-11T03:13:17.000Z",
        "updateDateTime": "2021-06-11T03:13:17.000Z"
    }],
    "packingDetails": [{
        "item": "101800040",
        "packingSetNo": 1,
        "recordType": "F",
        "quantity": 10,
        "createDateTime": "2021-06-11T03:10:13.000Z",
        "updateDateTime": "2021-06-11T03:10:13.000Z"
    }, {
        "item": "101800040",
        "packingSetNo": 1,
        "recordType": "R",
        "quantity": 10,
        "createDateTime": "2021-06-11T03:10:13.000Z",
        "updateDateTime": "2021-06-11T03:10:13.000Z"
    }]
    },
  ],
  "hasMore": false,
  "limit": 10000,
  "count": 1,
  "links": [
    {
      "href": "https://rex.retail.us-phoenix-1.ocs.oc-test.com/rgbu-rex-rgbu-
dev1-mfcs19-1/MerchIntegrations/services/inventory/woin?
limit=10000&since=1970-01-01T00:00:00.001Z&before=2022-03-26T02:28:02.971902+0
0:00",
      "rel": "self"
    }
  ]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_WOOUTYesNoYesYes
MERCHAPI_EXT_WOOUTYesYesYesYes
V_ MERCHAPI_EXT_WOOUT_JSONYesNoNoNo

Items

The following services are included in this functional area:

  • Item Definition

    • Item AI Services

      • Item Attribute Extraction Services

        • Get Item Attributes Base
  • Get Item Attributes Customized

    • Update Item Attributes Customized
  • – Item Download Service * Get Item Details * Get Item Details for All or Provided Items * Get Item Details for Provided Item * Get Item Location Details * Get Item VAT Details * Get Item VAT Details by Item Number

  • – Item ELC Upload Service * Create Item Conditional Tariff Treatments * Create Item Expenses * Create Item HTS * Create Item HTS Assessments * Delete Item Conditional Tariff Treatments * Delete Item Expenses * Delete Item HTS * Delete Item HTS Assessments * Update Item Expenses * Update Item HTS * Update Item HTS Assessments

  • – Item Location Upload Service * Create Item Locations * Manage Item Location Status Update Requests * Update Item Locations

  • – Item Number Reservation Upload Service * Generate and Reserve Item Numbers

  • – Item Placeholder Upload Service * Create Placeholder Items

  • – Item Sourcing Upload Service * Create Item Supplier Countries * Create Item Supplier Countries of Manufacture * Create Item Supplier Country Dimensions * Create Item Supplier Country Locations * Create Item Supplier Translations * Create Item Suppliers * Delete Item Supplier Countries * Delete Item Supplier Countries of Manufacture

    • Delete Item Supplier Country Dimensions

      • Delete Item Supplier Country Locations * Delete Item Supplier Translations
    • Delete Item Suppliers

    • Update Item Supplier Countries

    • Update Item Supplier Countries of Manufacture

    • Update Item Supplier Country Dimensions

    • Update Item Supplier Country Locations

      • Update Item Supplier Translations * Update Item Suppliers
  • Item Taxes Upload Service * Create Item Taxes

    • Delete Item Taxes
  • Item Up Charge Download Service

    • Get Item Up Charges for Future Date
  • Item Upload Service * Create Item Description Translations * Create Item Image Translations * Create Item Images

    • Create Item Seasons

      • Create Item Tickets * Create Item UDA Free Form Translations * Create Item UDAs * Create Item Up Charges * Create Items * Create Required Documents * Delete Item Description Translations * Delete Item Image Translations * Delete Item Images * Delete Item Seasons * Delete Item Tickets * Delete Item UDA Free Form Translations * Delete Item UDAs * Delete Item Up Charges * Delete Items * Delete Required Documents * Update Item Description Translations * Update Item Image Translations

      • Update Item Images

      • Update Item Tickets

      • Update Item UDA Free Form Translations

      • Update Item UDAs

      • Update Item Up Charge Details

      • Update Items

    • Related Items Upload Service

      • Create Related Items

      • Create Related Item Translations

      • Delete Related Items

      • Delete Related Item Translations

      • Update Related Items

      • Update Related Item Translations

  • Item Foundation

    • Brand Download Service

      • Get Brands
    • Brand Upload Service

      • Manage Brands
    • Differentiator Download Service

      • Get Differentiator Details

      • Get Differentiator Details for Provided Differentiator

      • Get Differentiator Details for Single Differentiator

    • Differentiator Group Download Service * Get Differentiator Groups

      • Get Differentiators for Provided Group
    • Differentiator Group Upload Service

    • Create Differentiator Group Details

      • Create Differentiator Groups * Delete Differentiator Group Details * Delete Differentiator Groups * Update Differentiator Group Details * Update Differentiator Groups
    • – Differentiator Type Download Service * Get Differentiator Type Details for Provided Type

    • Get Differentiator Types

    • – Differentiator Upload Service * Create Differentiators * Delete Differentiators

    • Update Differentiators

  • Seasons and Phases Download Service

    • Get Seasons and Phases Service
  • User Defined Attribute (UDA) Download Service

    • REST Endpoint for UDA details

    • REST Endpoint to Fetch UDA by UDA ID

Item AI Services

The following services are included in this functional area:

  • Item Attribute Extraction Services

Item Attribute Extraction Services

The following services are included in this functional area:

  • Get Item Attributes Base

  • Get Item Attributes Customized

  • Update Item Attributes Customized

Get Item Attributes Base

Endpoints

/RmsReSTServices/services/private/ai/item/attributes/base
Functional Area
Items Attributes Extraction
Business Overview

Fetches the default (out-of-the-box) set of item attributes that ODA can extract. Use this to see all pre-configured attributes.

Service Type

GET
ReST URL
/RmsReSTServices/services/private/ai/item/attributes/base

Output

NameData TypeDescription
Array of StringEach key in the JSON response
is a product category name
(e.g., APPAREL, ELECTRONICS).
The value is an array of
extractable attribute names
(Strings) for that category.
NameData TypeDescription
attributeStringEach element within the array
is the name of an attribute
extractable for the given
category (e.g., color, brand,
price)

Elements in JSON Output

ElementsDescription
CATEGORY_NAMEProduct category name (e.g., “APPAREL”,
“ELECTRONICS”)
AttributeExtractable attribute for the category (e.g.,
“color”, “price”)
JSON Schema Overview
{
"CATEGORY_NAME": [
"attribute1",
"attribute2",
"attribute3"
// ...more attributes
],
// ...more categories
}
Example JSON output
{
"APPAREL": [
"productType",
"material",
"color",
"size",
"fit",
"pattern",
"sleeveLength",
"neckStyle",
"gender",
"occasion",
"price"
],
"BAGS": [
"productType",
"material",
"color",
"capacity",
"closureType",
"style",
"price"
],
"COSMETICS": [
"productType",
"brand",
"shade",
"form",
"skinType",
"scent",
"size",
"price"
],
"ELECTRONICS": [
"productType",
"brand",
"model",
"color",
"memory",
"features",
"price"
],
"FOOTWEAR": [
"productType",
"material",
"color",
"size",
"closureType",
"soleMaterial",
"heelType",
"usage",
"price"
],
"FRESH PRODUCE": [
"productType",
"brand",
"weight",
"units",
"packaging",
"expiryDate",
"price"
],
"FURNITURE": [
"productType",
"material",
"color",
"dimensions",
"style",
"roomType",
"price"
],
"GROCERY": [
"productType",
"brand",
"flavor",
"weight",
"packaging",
"expiryDate",
"price"
],
"JEWELRY": [
"productType",
"material",
"stoneType",
"cutShape",
"color",
"sizeDimensions",
"price"
],
"PET SUPPLIES": [
"productType",
"brand",
"packaging",
"weight",
"flavor",
"petCategory",
"expiryDate",
"price"
],
"PHARMA": [
"productType",
"brand",
"flavor",
"packaging",
"expiryDate",
"price"
]
}
Get Item Attributes Customized
Endpoints
/RmsReSTServices/services/private/ai/item/attributes
Functional Area
Items Attributes Extraction
Business Overview

Retrieves only those item attributes that have been customized for extraction. If no customizations have been made, the response will be empty. Use this endpoint to check which product categories and attributes have customized extraction setups in your system.

Service Type
GET
ReST URL
/RmsReSTServices/services/private/ai/item/attributes
Output
NameData TypeDescription
Array of StringEach key in the JSON response
is a product category name
(e.g., APPAREL, ELECTRONICS).
The value is an array of
extractable attribute names
(Strings) for that category.
attributeStringEach element within the array
is the name of an attribute
extractable for the given
category (e.g., color, brand,
price)

Elements in JSON Output

ElementsDescription
CATEGORY_NAMEProduct category name (e.g., “APPAREL”,
“ELECTRONICS”)
AttributeExtractable attribute for the category (e.g.,
“color”, “price”)
JSON Schema Overview
{
"CATEGORY_NAME": [
"attribute1",
"attribute2",
"attribute3"
// ...more attributes
],
// ...more categories
}
Example JSON output
{
"APPAREL": [
"productType",
"material",
"color",
"size",
"fit",
"pattern",
"sleeveLength",
"neckStyle",
"gender",
"occasion",
"price"
],
"BAGS": [
"productType",
"material",
"color",
"capacity",
"closureType",
"style",
"price"
],
"COSMETICS": [
"productType",
"brand",
"shade",
"form",
"skinType",
"scent",
"size",
"price"
],
"ELECTRONICS": [
"productType",
"brand",
"model",
"color",
"memory",
"features",
"price"
],
"FOOTWEAR": [
"productType",
"material",
"color",
"size",
"closureType",
"soleMaterial",
"heelType",
"usage",
"price"
],
"FRESH PRODUCE": [
"productType",
"brand",
"weight",
"units",
"packaging",
"expiryDate",
"price"
],
"FURNITURE": [
"productType",
"material",
"color",
"dimensions",
"style",
"roomType",
"price"
],
"GROCERY": [
"productType",
"brand",
"flavor",
"weight",
"packaging",
"expiryDate",
"price"
],
"JEWELRY": [
"productType",
"material",
"stoneType",
"cutShape",
"color",
"sizeDimensions",
"price"
],
"PET SUPPLIES": [
"productType",
"brand",
"packaging",
"weight",
"flavor",
"petCategory",
"expiryDate",
"price"
],
"PHARMA": [
"productType",
"brand",
"flavor",
"packaging",
"expiryDate",
"price"
]
}

Update Item Attributes Customized

Endpoints

/RmsReSTServices/services/private/ai/item/attributes

Functional Area

Items Attributes Extraction

Business Overview

Allows you to add or remove attributes to be extracted through the Oracle Digital Assistant (ODA).

Service Type

POST
ReST URL
/RmsReSTServices/services/private/ai/item/attributes

Input

NameData TypeDescription
Array of StringEach key in the JSON response
is a product category name
(e.g., APPAREL, ELECTRONICS).
The value is an array of
extractable attribute names
(Strings) for that category.
attributeStringEach element within the array
is the name of an attribute
extractable for the given
category (e.g., color, brand,
price)

Output

NameData TypeDescription
statusStringIndicates the result of the data
override action. The value will
confrm successful completion

if updates were processed
without error.

Elements in JSON Input

ElementsDescription
CATEGORY_NAMEProduct category name (e.g., “APPAREL”,
“ELECTRONICS”)
AttributeExtractable attribute for the category (e.g.,
“color”, “price”)
Input JSON Schema Overview
{
"CATEGORY_NAME": [
"attribute1",
"attribute2",
"attribute3"
// ...more attributes
],
// ...more categories
}
Example JSON input
{
"APPAREL": [
"productType",
"material",
"color",
"size",
"fit",
"pattern",
"sleeveLength",
"neckStyle",
"gender",
"occasion",
"price"
],
"BAGS": [
"productType",
"material",
"color",
"capacity",
"closureType",
"style",
"price"
],
"COSMETICS": [
"productType",
"brand",
"shade",
"form",
"skinType",
"scent",
"size",
"price"
],
"ELECTRONICS": [
"productType",
"brand",
"model",
"color",
"memory",
"features",
"price"
],
"FOOTWEAR": [
"productType",
"material",
"color",
"size",
"closureType",
"soleMaterial",
"heelType",
"usage",
"price"
],
"FRESH PRODUCE": [
"productType",
"brand",
"weight",
"units",
"packaging",
"expiryDate",
"price"
],
"FURNITURE": [
"productType",
"material",
"color",
"dimensions",
"style",
"roomType",
"price"
],
"GROCERY": [
"productType",
"brand",
"flavor",
"weight",
"packaging",
"expiryDate",
"price"
],
"JEWELRY": [
"productType",
"material",
"stoneType",
"cutShape",
"color",
"sizeDimensions",
"price"
],
"PET SUPPLIES": [
"productType",
"brand",
"packaging",
"weight",
"flavor",
"petCategory",
"expiryDate",
"price"
],
"PHARMA": [
"productType",
"brand",
"flavor",
"packaging",
"expiryDate",
"price"
]
}

Elements in JSON Output

ElementsDescription
statusIndicates the result of the customization
operation. Returns a message confrming
success or providing details in case of failure.
Output JSON Schema Overview
{
"status": "string"
}
Example JSON Output
{
"status": "Data overrides done successfully"
}

Item Definition

The following services are included in this functional area:

  • Item Download Service

    • Get Item Attributes Base

    • Get Item Attributes Customized

    • Get Item Details

    • Get Item Details for All or Provided Items

    • Get Item Details for Provided Item

    • Get Item Location Details

    • Get Item VAT Details

    • Get Item VAT Details by Item Number

  • Item ELC Upload Service

    • Create Item Conditional Tariff Treatments

    • Create Item Expenses

    • Create Item HTS

    • Create Item HTS Assessments

    • Delete Item Conditional Tariff Treatments

    • Delete Item Expenses

    • Delete Item HTS

    • Delete Item HTS Assessments

    • Update Item Expenses

    • Update Item HTS

    • Update Item HTS Assessments

  • Item Location Upload Service

    • Create Item Locations

    • Manage Item Location Status Update Requests

    • Update Item Locations

  • Item Number Reservation Upload Service

    • Generate and Reserve Item Numbers
  • Item Placeholder Upload Service

    • Create Placeholder Items
  • Item Sourcing Upload Service

    • Create Item Supplier Countries

    • Create Item Supplier Countries of Manufacture

    • – Create Item Supplier Country Dimensions

    • Create Item Supplier Country Locations

    • Create Item Supplier Translations

    • Create Item Suppliers

    • Delete Item Supplier Countries

    • Delete Item Supplier Countries of Manufacture

    • – Delete Item Supplier Country Dimensions

    • Delete Item Supplier Country Locations

    • Delete Item Supplier Translations

    • Delete Item Suppliers

    • – Update Item Supplier Countries

    • Update Item Supplier Countries of Manufacture

    • – Update Item Supplier Country Dimensions

  • Update Item Supplier Country Locations

  • – Update Item Supplier Translations

  • – Update Item Suppliers

  • • Item Taxes Upload Service – Create Item Taxes – Delete Item Taxes

  • Item Up Charge Download Service – Get Item Up Charges for Future Date

  • • Item Upload Service – Create Item Description Translations

  • – Create Item Image Translations

  • – Create Item Images

    • Create Item Seasons

    • Create Item Tickets

    • Create Item UDA Free Form Translations

    • Create Item UDAs

    • Create Item Up Charges

    • Create Items

    • Create Required Documents

    • Delete Item Description Translations

    • Delete Item Image Translations

    • Delete Item Images

    • Delete Item Seasons

    • Delete Item Tickets

    • Delete Item UDA Free Form Translations

    • Delete Item UDAs

    • Delete Item Up Charges

    • Delete Items

    • Delete Required Documents

    • Update Item Description Translations

    • Update Item Image Translations

    • Update Item Images

    • Update Item Tickets

    • Update Item UDA Free Form Translations

    • Update Item UDAs

    • Update Item Up Charge Details

    • Update Items

  • Related Items Upload Service

    • Create Related Items

    • Create Related Item Translations

    • Delete Related Items

    • Delete Related Item Translations

    • Update Related Items

    • Update Related Item Translations

Item Download Service

The following services are included in this functional area:

  • Get Item Attributes Base

  • Get Item Attributes Customized

  • Get Item Details

  • Get Item Details for All or Provided Items

  • Get Item Details for Provided Item

  • Get Item Location Details

  • Get Item VAT Details

  • Get Item VAT Details by Item Number

Get Item Details

This section describes the Item Detail service.

Business Overview

Item Detail service allows user to retrieve Item information for a selected item.

Service Type

Get

ReST URL

Item/itemDetail?item={itemNumber}

Input Parameters

Parameter NameRequiredDescription
ItemYesItem number

Output

RestItemRecRDO
Parameter NameData Type
itemGrandparentString
itemParentString
itemString
itemDescString
shortDescString
packIndString
statusString
itemLevelBigDecimal
tranLevelBigDecimal
deptBigDecimal
classAttributeBigDecimal
subclassBigDecimal
diff1String
diff2String
diff3String
diff4String
primaryRefItemIndString
originalRetailBigDecimal
sellableIndString
orderableIndString
Parameter NameData Type
inventoryIndString
packitemBreakoutList
itemSupplierList
itemSupplierCountryList
vatItemList
longDescString
RestPackitemBreakoutRecRDO
Parameter NameData Type
itemString
seqNoBigDecimal
packItemQtyBigDecimal
RestItemSupplierRecRDO
Parameter NameData Type
supplierBigDecimal
vpnString
primarySuppIndString
directShipIndString
RestItemSupplierCountryRecRDO
Parameter NameData Type
originCountryIdString
primaryCountryIndString
unitCostBigDecimal
suppPackSizeBigDecimal
innerPackSizeBigDecimal
leadTimeBigDecimal
pickupLeadTimeBigDecimal
RestVatItemRecRDO
Parameter NameData Type
vatRegionBigDecimal
vatTypeString
vatCodeString
vatRateBigDecimal
activeDateTimestamp
JSON Structure
{
  "itemGrandparent": null,
  "itemParent": null,
  "item": null,
  "itemDesc": null,
  "shortDesc": null,
  "packInd": null,
  "status": null,
  "itemLevel": null,
  "tranLevel": null,
  "dept": null,
  "classAttribute": null,
  "subclass": null,
  "diff1": null,
  "diff2": null,
  "diff3": null,
  "diff4": null,
  "primaryRefItemInd": null,
  "originalRetail": null,
  "sellableInd": null,
  "orderableInd": null,
  "inventoryInd": null,
  "packitemBreakout": [],
  "itemSupplier": [
    {
      "primarySuppInd": null,
      "itemSupplierCountry": [
        {
          "unitCost": null,
          "leadTime": null,
          "suppPackSize": null,
          "originCountryId": null,
          "primaryCountryInd": null,
          "pickupLeadTime": null,
          "innerPackSize": null,
          "links": [],
          "hyperMediaContent": {
            "linkRDO": []
          }
        }
      ],
      "supplier": null,
      "vpn": null,
      "directShipInd": null,
      "links": [],
      "hyperMediaContent": {
        "linkRDO": []
      }
    }
  ],
  "vatItem": [
    {
      "vatRegion": null,
      "activeDate": null,
      "vatType": null,
      "vatCode": null,
      "vatRate": null,
      "links": [],
      "hyperMediaContent": {
        "linkRDO": []
      }
    }
  ],
  "longDesc": null,
  "links": [],
  "hyperMediaContent": {
    "linkRDO": []
  }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
V_ITEM_MASTERYesNoNoNo
PACKITEM_BREAKOUTYesNoNoNo
ITEM_SUPPLIERYesNoNoNo
ITEM_SUPP_COUNTRYYesNoNoNo
VAT_ITEMYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo
Get Item Details for All or Provided Items
Endpoints
MerchIntegrations/services/foundation/item
MerchIntegrations/services/foundation/item/{itemId}
Functional Area
Items - Item Definition
Business Overview

This service publishes item master data for transaction-level items and higher merchandise hierarchy nodes to downstream consuming systems. The payload combines core item attributes with translations, supplier and sourcing details, UDA values, images, tickets, related items, compliance and import data, and custom flex attributes. End-to-end publication is limited to items that qualify through the refresh and delta flow: refresh seeds items in approved or deleted status, item-master inserts are not queued until the item is approved, and item-master updates in worksheet or submitted status are suppressed. Below-transaction-level reference or UPC items are not published as standalone records; their changes refresh the parent item’s referenceItem node.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: ITEM_MASTER, ITEM_MASTER_TL, ITEM_SUPPLIER, ITEM_SUPP_UOM, ITEM_SUPP_COUNTRY, ITEM_SUPP_COUNTRY_DIM, ITEM_SUPP_MANU_COUNTRY, ITEM_TICKET, UDA_ITEM_DATE, UDA_ITEM_LOV, UDA_ITEM_FF, ITEM_IMAGE, ITEM_SEASONS, ITEM_HTS, ITEM_EXP_HEAD, ITEM_EXP_DETAIL, RELATED_ITEM_HEAD, RELATED_ITEM_DETAIL, REQ_DOC, ITEM_IMPORT_ATTR

Additional business tables: ITEM_MASTER_CFA_EXT, ITEM_SUPPLIER_CFA_EXT, ITEM_SUPP_COUNTRY_CFA_EXT, DEPS, GROUPS, DIVISION, CLASS, SUBCLASS, BRAND, DIFF_IDS, DIFF_GROUP_HEAD, SYSTEM_OPTIONS, SYSTEM_CONFIG_OPTIONS, CODE_DETAIL

JSON cache table: MERCHAPI_EXT_ITEM

JSON generation view: V_MERCHAPI_EXT_ITEM_JSON

Is keyed by ITEM_MASTER rows with ITEM_LEVEL TRAN_LEVEL, so the published entity is the transaction-level item or a higher hierarchy node.

The payload combines core item attributes with translations, supplier and sourcing data, UDAs, images, tickets, related items, HTS and expense data, import attributes, custom flex attributes, and supporting hierarchy and lookup values.

Below-transaction-level reference or UPC items are not published as standalone payloads; their data is rolled into the parent item’s referenceItem node.

Initial Seeding and post enablement rebuild/repair

Initial seeding selects ITEM_MASTER rows where STATUS IN (‘A’, ‘D’) and ITEM_LEVEL TRAN_LEVEL, then builds the published JSON through V_MERCHAPI_EXT_ITEM_JSON.

Rebuild marks cache rows deleted when the item no longer exists in ITEM_MASTER.

ICL (Integration Change Log) table: ICL_RMS_ITEM_MASTER, ICL_RMS_ITEM_SUPPLIER, ICL_RMS_ITEM_SUPP_UOM, ICL_RMS_ITEM_SUPP_CTRY, ICL_RMS_ITEM_SUPP_CTRY_DIM, ICL_RMS_ITEM_SUPP_MANU_CTRY, ICL_RMS_ITEM_TICKET, ICL_RMS_UDA_ITEM_DATE, ICL_RMS_UDA_ITEM_LOV, ICL_RMS_UDA_ITEM_FF, ICL_RMS_ITEM_IMAGE, ICL_RMS_ITEM_SEASONS, ICL_RMS_ITEM_HTS, ICL_RMS_ITEM_EXP, ICL_RMS_RELATED_ITEM, ICL_RMS_REQ_DOC, ICL_RMS_ITEM_IMPORT_ATTR (ICL consumer name = MERCHAPI)

Item-master inserts are staged only when the new item is approved, approval transitions are staged as insert-style publishes, and item-master updates in worksheet or submitted status are suppressed.

ITEM_MASTER_TL changes are queued only for items with ITEM_LEVEL TRAN_LEVEL, and below-transaction-level item changes are rolled up to ITEM_PARENT so the parent payload is refreshed.

Item Approval Handling

Approval of an item also results in publish of foundation/omnichannel/item/image, foundation/ omnichannel/item/relateditem, foundation/item/location, foundation/item/vat, and foundation/ taxLocationItem. The item approval flow writes the existing ITEM_IMAGE, RELATED_ITEM_HEAD/DETAIL, ITEM_LOC, and VAT_ITEM source rows for that item into those APIs’ ICL tables so dependent approved-item data is queued together with the item.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_ITEM

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_ITEM_ADHOC_PROCESS - > MERCHAPI_EXT_ITEM_ADHOC_JOB

Webhook configuration api name: foundation/item

Special handling

Additional GET query parameters: itemLevel, tranLevel, deptId, classId, subclassId, status, itemType, inventoryInd, supplier, referenceItem.

The filters itemLevel, tranLevel, deptId, classId, subclassId, status, and itemType are not backed by dedicated cache-table indexes. At high volume, use them only as additional criteria on top of a small-window delta fetch and not for full downloads.

Performance Considerations

For customers expecting high to very high publish volume from this API, sizing and operational tuning should be addressed early in the implementation lifecycle. Initial cache seeding, ongoing delta processing, full extracts, and incremental downloads or webhook-driven delivery have different runtime characteristics and should be evaluated separately. The available configuration for this service should therefore be reviewed and validated against the customer production data profile, including expected volume, message size, and access pattern, with the key performance-related configuration for this service covering the following:

Multi-threading and commit control

This service supports multi-threaded execution for initial seeding, while delta processing remains a single threaded process. Initial-seeding thread count is controlled through API_REFRESH_OVERRIDE_NO_OF_THREADS, and initial-seeding commit sizing is controlled through API_REFRESH_OVERRIDE_COMMIT_MAX_COUNTER.

For initial seeding, thread and commit settings should be chosen together based on expected row volume, average message size, and the complex SQL query required to build the item message from ITEM_MASTER together with supplier, UDA, image, ticket, related-item, HTS, expense, import, and hierarchy data. Common starting points for large-volume seeding are 8, 16, or 32 threads. Values of 48 or 64 threads should be considered only after testing and with awareness of competing workload in the environment. The delivered refresh override is currently 4 threads.

Refresh commit sizing should be reviewed together with the thread setting. The delivered refresh override commit setting is currently 10000 and that should be used if the thread value is low. If running with higher thread value, the typical value can range from about 100 to 1,000 rows.

Dropping indexes and constraints during seeding

This option applies only to initial seeding, including truncate-and-load execution. Even with refresh-override threading, larger parallel insert volumes can increase index maintenance overhead and slow the load.

To reduce that overhead, DROP_INDEX_ON_REFRESH can be enabled so indexes and constraints are dropped before seeding and rebuilt after the load completes.

This can improve data-load throughput, but the overall refresh plan should also account for the additional time needed for index rebuild after the seeding step finishes. GATHER_STATS_ON_REFRESH should normally remain enabled unless testing shows a need to change it.

REST fetch considerations

Item payloads can be comparatively large, so REST page size should be selected based on average message size so that the average response remains below about 10 MB per call. Common page-limit values for this service should be 500 or 1,000, and very small limits, especially below 100, should generally be avoided.

For full downloads, do not provide the since query parameter so the database can favor the primary-key access path. For delta downloads, use a small time window, typically a few minutes and at most a few hours, so the eligible row set on the LAST_UPDATE_DATETIME index remains small.

Wider delta windows, especially multi-day windows that can arise during outages or data recovery, generally do not perform well. For such scenarios, keeping BUILD_HISTOGRAM enabled allows the service to support recovery through smaller, more selective polling windows using the optimalBefore query parameter.

In this catch-up pattern, for requests up to 30 days in the past, the client provides optimalBefore and leaves before empty. The client then uses the returned before timestamp to continue polling incrementally until the backlog is cleared, and then resumes the normal shortwindow delta pattern. Hourly histogram processing groups LAST_UPDATE_DATETIME values into buckets of 10,000 rows in MERCHAPI_TIMESTAMP_HISTOGRAM using the shared HISTOGRAM_ROW_COUNT configuration.

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/item

MerchIntegrations/services/foundation/item/{itemId}

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
itemLevelNoStringItem Level - 1, 2, or 3
Parameter NameRequiredData TypeDescription
tranLevelNoStringTransaction Level- 1, 2,
or 3
deptIdNoString (4)Department Id
classIdNoString (4)Class Id
subclassIdNoString (4)Sub Class Id
statusNoStringStatus
itemTypeNoStringItem Type
inventoryIndNoStringInventoried
supplierNoStringSupplier
referenceItemNoStringReference Item
offsetkeyNoStringOffset key (Item)
limitNoString (6)Pagination limit.
Default value is 1000.
optimalBeforeNoStringEnables histogram-
based calculation of
the before timestamp
when before is not
provided. Valid values
are Y or N. Default
value is N.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-398 Input Parameter for “MerchIntegrations/services/foundation/item/{itemId}“

Parameter NameRequiredData TypeDescription
itemIdYesStringItem Id
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)
Output

Table 5-399 PageResultsItemsMerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-400 MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for Item details
longtDescriptionNoString
itemNoString (25)This feld specifes
Unique alphanumeric
value that identifes
the item.
itemNumberTypeNoString (6)This feld holds the
type of item number.
Valid values are
defned by code type
UPCT.
statusNoString (1)This feld specifes
status of the item.
itemLevelNoNumber(1,0)This feld specifes
Number indicating
which of the three
levels the item resides.
The item level
determines if the item
stands alone or if it is
part of a family of
related items. The item
level also determines
how the item may be
used throughout the
system.

Table 5-400 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
tranLevelNoNumber(1,0)This feld specifes
Number indicating
which of the three
levels transactions
occur for the item’s
group. The transaction
level is the level at
which the item’s
inventory is tracked in
the system. The
transaction level item
will be counted,
transferred, shipped,
etc. The transaction
level may be at the
current item or up to 2
levels above or below
the current item. Only
one level of the
hierarchy of an item
family may contain
transaction level
items.
itemDescriptionNoString (250)This feld specifes
long description of the
item. This description
is used through out the
system to help online
users identify the item.
For items that have
parents, this
description will
default to the parents
description plus any
differentiators. For
items without parents
this description will
default to null.
shortDescriptionNoString (120)This feld specifes
shortened description
of the item. This
description is the
default for
downloading to the
POS. For items that
have parents, this
description will
default to the parent’s
short description. For
items without parents,
this description will
default to null.

Table 5-400 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemDescriptionUpper
case
NoString (250)This feld specifes all
upper case description
of the item (same as
upper(item_desc)).
This feld is not
displayed in the on-
line item maintenance
dialog, but is used in
item list of value
search processing
through out the
system.
itemDescriptionSecon
dary
NoString (250)This feld specifes
secondary descriptions
of the item. This feld
can only be populated
when
system_options.second
ary_desc_ind = Y.
longDescriptionNoString (2000)This feld specifes
long description of the
item. This is a more
descriptive writeup
about the item
targeted largely for
platforms like
Ecommerce platforms,
Marketplaces, Order
Management Systems
etc.
itemParentNoString (25)This feld specifes
alphanumeric value
that uniquely
identifes the item/
group at the level
above the item.
itemGrandparentNoString (25)This feld specifes
alphanumeric value
that uniquely
identifes the item/
group at the level
above the item.

Table 5-400 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
sellableIndNoString (1)This feld indicates if
pack item may be sold
as a unit. If it is ‘Y’ then
the pack will have its
own unique unit retail.
If it is ‘N’ then the
pack’s unit retail is the
sum of each individual
item’s total retail
within the pack. This
feld will only be
available if the item is
a pack item. Value
values are: Y = Yes, this
pack may be sold as a
unit; N = No, this pack
man not be sold as a
unit.
orderableIndNoString (1)This feld indicates if
pack item is orderable.
If it is ‘Y’ then the
suppliers of the pack
must supply all
components in the
pack. If it is ‘N’ then
the components may
have different
suppliers. This feld
will only be available
if the item is a pack
item. Valid values are:
Y = Yes, this pack may
be ordered, N = No,
this pack may not be
ordered.
inventoryIndNoString (1)This feld specifes
inventory Indicator.
packIndNoString (1)This feld indicates if
the item is a pack. A
pack item is a
collection of items that
may be either ordered
or sold as a unit. Packs
require details (i.e.
component items and
qtys, etc.) that other
items do not. This feld
is required by the
database.

Table 5-400 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
simplePackIndNoString (1)This feld indicates if
pack item is a simple
pack or not. This feld
will only be available
if the item is a pack
item. A simple pack is
an item whose
components are all the
same item (i.e. a six
pack of cola, etc). Valid
values are:Y = Yes, this
item is a simple pack;
N = No if this is not a
simple pack.
containsInnerIndNoString (1)This feld indicates if
pack item contains
inner packs. Vendor
packs will never
contain inner packs
and this feld will be
defaulted to ‘N’. This
feld will only be
available if the item is
a pack item. Valid
values are Y = Yes, this
pack contains inner
packs; N = No, this
pack does not contain
inner packs.
deptNoNumber(4,0)This feld specifes
number identifying
the department to
which the item is
attached. The item’s
department will be the
same as that of its
parent (and, by
transitivity, to that of
its grandparent). Valid
values for this feld are
located on the deps
table.
deptNameNoString (120)This feld contains the
name of the
department.
classNoNumber
classNameNoString (120)This feld contains the
name of the class.

Table 5-400 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
uniqueClassIdNoNumber(10,0)This feld uniquely
identify the class
which the item
belongs to.Class is not
unique ID the
merchandise
hierarchy.The
combination of Dept/
Class is unique, but
requires use of a
composite key.The
composite key is
generally used in user
interfaces.The unique
ID can be used in back
end processing or in
systems that can not
have a composite key
in the merchandise
hierarchy.
subclassNoNumber(4,0)This feld specifes
number identifying
the subclass to which
the item is attached.
The item’s subclass
will be the same as
that of its parent (and,
by transitivity, to that
of its grandparent).
Valid values for this
feld are located on the
subclass table.
subclassNameNoString (120)This feld contains the
name of the subclass.
uniqueSubclassIdNoNumber(10,0)This feld uniquely
identify the subclass
which the item
belongs to.Sublass is
not unique ID the
merchandise
hierarchy.The
combination of Dept/
Class/Subclass is
unique, but requires
use of a composite
key.The composite key
is generally used in
user interfaces.The
unique ID can be used
in back end processing
or in systems that can
not have a composite
key in the
merchandise
hierarchy.

Table 5-400 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
unitRetailNoNumber(20,4)This feld holds the
unit retail in the
standard unit of
measure for the item/
zone combination.
This feld is stored in
the local currency.
variableUpcFormatIdNoString (1)This feld will hold the
format ID that
corresponds to the
item’s variable UPC.
This value is only used
for items with variable
UPCs.
variableWeightUpcPref
ix
NoNumber(2,0)This feld holds the
prefx for variable
weight UPCs. The
prefx determines the
format of the eventual
UPC and will be used
to decode variable
weight UPCs that are
uploaded from the
POS. It is the clients
responsibility to
download this value to
their POS system.
diff1NoString (10)This feld contains
diff_group or diff_id
that differentiates the
current item from its
item_parent. For an
item that is a parent,
this feld may be either
a group (i.e. Men’s
pant sizes) or a value
(6 oz). For an item that
is not a parent, this
feld may contain a
value (34X34, Red,
etc.). Valid values are
found on the
diff_group and diff_id
tables.

Table 5-400 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diff1TypeNoString (6)This feld will hold a
value of all possible
differential types. (for
example, ‘S’ - size, ‘C’ -
color, ‘F’ - favor, ‘E’ -
scent, ‘P’ - pattern).
Valid values are stored
on the code_detail
table with the
code_type ‘DIFF’ and
on the diff_type table.
diff2NoString (10)This feld contains
diff_group or diff_id
that differentiates the
current item from its
item_parent. For an
item that is a parent,
this feld may be either
a group (i.e. Men’s
pant sizes) or a value
(6 oz). For an item that
is not a parent, this
feld may contain a
value (34X34, Red,
etc.). Valid values are
found on the
diff_group and diff_id
tables.
diff2TypeNoString (6)This feld will hold a
value of all possible
differential types. (for
example, ‘S’ - size, ‘C’ -
color, ‘F’ - favor, ‘E’ -
scent, ‘P’ - pattern).
Valid values are stored
on the code_detail
table with the
code_type ‘DIFF’ and
on the diff_type table.

Table 5-400 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diff3NoString (10)This feld contains
diff_group or diff_id
that differentiates the
current item from its
item_parent. For an
item that is a parent,
this feld may be either
a group (i.e. Men’s
pant sizes) or a value
(6 oz). For an item that
is not a parent, this
feld may contain a
value (34X34, Red,
etc.). Valid values are
found on the
diff_group and diff_id
tables.
diff3TypeNoString (6)This feld will hold a
value of all possible
differential types. (for
example, ‘S’ - size, ‘C’ -
color, ‘F’ - favor, ‘E’ -
scent, ‘P’ - pattern).
Valid values are stored
on the code_detail
table with the
code_type ‘DIFF’ and
on the diff_type table.
diff4NoString (10)This feld contains
diff_group or diff_id
that differentiates the
current item from its
item_parent. For an
item that is a parent,
this feld may be either
a group (i.e. Men’s
pant sizes) or a value
(6 oz). For an item that
is not a parent, this
feld may contain a
value (34X34, Red,
etc.). Valid values are
found on the
diff_group and diff_id
tables.

Table 5-400 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diff4TypeNoString (6)This feld will hold a
value of all possible
differential types. (for
example, ‘S’ - size, ‘C’ -
color, ‘F’ - favor, ‘E’ -
scent, ‘P’ - pattern).
Valid values are stored
on the code_detail
table with the
code_type ‘DIFF’ and
on the diff_type table.
costZoneGroupIdNoNumber(4,0)This feld contains cost
zone group associated
with the item. This
feld is only required
when elc_ind (landed
cost indicator) is set to
’Y’ on the
system_options table.
standardUomNoString (4)This feld contains unit
of measure in which
stock of the item is
tracked at a corporate
level.
uomConversionFactorNoNumber(20,10)This feld contains
Conversion factor
between an ‘Each’ and
the standard_uom
when the
standard_uom is not in
the quantity class (e.g.
if standard_uom = lb
and 1 lb = 10 eaches,
this factor will be 10).
This factor will be
used to convert sales
and stock data when
an item is retailed in
eaches but does not
have eaches as its
standard unit of
measure.
packageSizeNoNumber(12,4)This feld holds the
size of the product
printed on any
packaging (i.e. 24
ounces). This feld is
used for reporting
purposes, as well as by
Retek Price
Mangement to
determine same sized
and different sized
items.

Table 5-400 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
packageUomNoString (4)This feld holds the
unit of measure
associated with the
package size. This feld
is used for reporting
purposes and by Retek
Price Management to
determine same sized
and different sized
items.
merchandiseIndNoString (1)This feld indicates if
the item is a
merchandise item (Y,
N).
storeOrderMultipleNoString (1)This feld indicates
Merchandise shipped
from the warehouses
to the stores must be
specifed in this unit
type. Valid values
are:C = Cases; I =
Inner; E = Eaches.
forecastIndNoString (1)This feld indicates if
this item will be
interfaced to an
external forecasting
system (Y, N).
manufacturerRecomm
endedRetail
NoNumber(20,4)This feld contains
manufacturer’s
recommended retail
price for the item.
Used for informational
purposes only. This
feld is stored in the
primary currency.
manufacturerRetailCu
rrencyCode
NoString (3)The feld indicates the
currency code of the
Manufacturer’s retail
price.
originalRetailNoNumber(20,4)The feld indicated the
original retail price of
the item per unit. This
feld is stored in the
primary currency.
originalRetailCurrency
Code
NoString (3)The feld indicates the
currency code of the
original retail price.
retailLabelTypeNoString (6)This feld indicates any
special label type
associated with an
item.

Table 5-400 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
retailLabelTypeDescri
ption
NoString (250)This feld holds the
description of the
retail label type.
retailLabelValueNoNumber(20,4)This feld represents
the value associated
with the retail label
type.
handlingTemperatureNoString (6)This feld holds the
temperature
information associated
with the item.
handlingTemperature
Description
NoString (250)This feld holds the
description of the
handling temperature.
handlingSensitivityNoString (6)This feld holds the
sensitivity information
associated with the
item.
handlingSensitivityDes
cription
NoString (250)This feld holds the
description of the
handling sensitivity.
catchWeightIndNoString (1)This feld indicates
whether the item
should be weighed
when it arrives at a
location.
catchWeightTypeNoString (1)The feld will hold
catch weight type for a
simple pack catch
weight item. The value
is based on the
component items
order_type and
sale_type: 2 -
order_type = Variable
Weight, sale_type =
Loose Weight 4 -
order_type = Variable
Weight, sale_type =
Variable Weight Each.
catchWeightUomNoString (4)The feld indicates the
UOM for Catchweight
Items.

Table 5-400 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderTypeNoString (6)The feld determines
how catch weight
items are ordered.
Valid values are: F -
fxed weight V -
Variable weight Valid
values are held on the
CODE_DETAIL table
with a code type =
ORDT.
saleTypeNoString (6)The feld indicates the
method of how catch
weight items are sold
in store locations.
Valid values are: V -
variable weight each L
- Loose weight. Valid
values are held on the
CODE_DETAIL table
with a code type =
STPE.
wasteTypeNoString (6)The feld indicates
identifes the wastage
type as either sales or
spoilage wastage. Sales
wastage occurs during
processes that make
an item saleable (i.e.
fat is trimmed off at
customer request).
Spoilage wastage
occurs during the
products shelf life (i.e.
evaporation causes the
product to weigh less
after a period of time).
Valid values are: SP -
spoilage; and SL -
Sales.
wasteTypeDescriptionNoString (250)The feld contains the
Waste Type
description
corresponding to the
Waste_Type value in
item_master.
averageWastePercenta
ge
NoNumber(12,4)The feld indicates
average percent of
wastage for the item
over its shelf life. Used
in infating the retail
price for wastage
items.

Table 5-400 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
defaultWastePercentag
e
NoNumber(12,4)The feld indicates
default daily wastage
percent for spoilage
type wastage items.
This value will default
to all item locations
and represents the
average amount of
wastage that occurs on
a daily basis.
constantDimensionIndNoString (1)The feld indicates that
the dimensions of the
product are always the
same, regardless of the
supplier. If this feld is
Y, the dimensions for
all suppliers will be
defaulted to the
primary supplier/
primary country
dimensions. Editing of
dimensions for the
item will only be
allowed for the
primary supplier/
primary country.
packTypeNoString (1)The feld Indicates if
pack item is a vendor
pack or a buyer pack.
A vendor pack is a
pack that the vendor
or supplier recognizes
and sells to the
retailer. If the pack
item is a vendor pack,
communication with
the supplier will use
the vendor pack
number. A buyer pack
is a pack that a buyer
created for internal
ease of use. If the pack
item is a buyer pack
communication with
the supplier will
explode the pack out
to its component
items. This feld will
only be used if the
item is a pack item. If
the pack item is not
orderable this feld
must be null. Valid
values are: V = Vendor;
B = Buyer.

Table 5-400 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderAsTypeNoString (1)This feld indicates if
pack item is receivable
at the component level
or at the pack level
(for a buyer pack
only). This feld is
required if pack item
is an orderable buyer
pack. This feld must
be NULL if the pack is
sellable only or a
vendor pack. This feld
will only be available
if the item is a pack
item. Valid Values are:
E = Eaches (component
level) P = Pack (buyer
pack only)..
commentsNoString (2000)The feld holds any
comments associated
with the item.
itemServiceLevelNoString (6)The feld Holds a value
that restricts the type
of shipment methods
that RCOM can select
for an item.
giftWrapIndNoString (1)This feld will contain
a value of ‘Y’ if the
item is eligible to be
gift wrapped.
shipAloneIndNoString (1)This feld will contain
a value of Y if the item
should be shipped to
the customer in a
separate package.
brandNameNoString (30)This feld contains the
brand associated to an
item.
brandDescriptionNoString (120)This feld contains the
description of the
brand associated with
the item.
perishableIndNoString (1)The feld is not used by
RMS.

Table 5-400 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemTransformIndNoString (1)The feld show that an
item is associated with
an item
transformation. The
item will be either the
sellable item or
orderable item in the
transformation
process.
depositItemTypeNoString (6)The feld contains
deposit item
component type. A
NULL value in this
feld indicates that this
item is not part of a
deposit item
relationship. The
possible values are - E
- Contents A -
Container Z - Crate T -
Returned Item (Empty
bottle) P - Complex
pack (with deposit
items) The Returned
item is fagged only to
enable these items to
be mapped to a
separate GL account if
required.
containerItemNoString (25)The feld holds the
container item
number for a contents
item. This feld is only
populated and
required if the
DEPOSIT_ITEM_TYPE =
E.
depositInPricePerUomNoString (6)This feld indicates if
the deposit amount is
included in the price
per UOM calculation
for a contents item
ticket. This value is
only required if the
DEPOSIT_ITEM_TYPE =
E. Valid values are I -
Include deposit
amount E - Exclude
deposit amount.
storePackInventoryIndNoString (1)This feld indicates
whether downstream
systems should track
pack inventory at the
pack level.

Table 5-400 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
sohInquiryAtPackIndNoString (1)The feld indicates to
the Store Inventory
System if a notional
simple pack item’s
inventory should be
displayed in packs.
purchaseTypeNoString (1)The feld indicates if
an item is a normal,
consignment or
concession item - ‘N’
for normal, ‘S’ for
consignment, ‘C’ for
concession.
productClassifcationNoString (6)The feld contains item
combinability codes
(with code type ‘PCLA’)
which provide a way
to defne which items
can be combined
(packed or boxed)
together.
productClassifcationD
escription
NoString (250)This feld will hold the
description of the
product classifcation.
itemAggregateIndNoString (1)This feld holds
indicator to aggregate
inventory and sales
for the item. Currently,
this indicator is used
by allocation and MFP
to aggregate inventory
for items. For staple
items this indictor
should be N.
diff1AggregateIndNoString (1)This feld holds
indicator for the
corresponding diff.
Indicator to aggregate
inventory and sales
for an item at Parent/
Diff level (e.g. Style/
Color or Style/Size .
diff2AggregateIndNoString (1)This feld holds
indicator for the
corresponding diff.
Indicator to aggregate
inventory and sales
for an item at Parent/
Diff level (e.g. Style/
Color or Style/Size.

Table 5-400 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diff3AggregateIndNoString (1)This feld holds
indicator for the
corresponding diff.
Indicator to aggregate
inventory and sales
for an item at Parent/
Diff level (e.g. Style/
Color or Style/Size.
diff4AggregateIndNoString (1)This feld holds
indicator for the
corresponding diff.
Indicator to aggregate
inventory and sales
for an item at Parent/
Diff level (e.g. Style/
Color or Style/Size.
diff1LevelNoString (6)This feld will contain
either ID or GROUP,
based on whether the
diff_1 is a group diff or
a diff id.
diff1DescriptionNoString (120)This feld will hold the
description of
differentiator.
diff2LevelNoString (6)This feld will contain
either ID or GROUP,
based on whether the
diff_1 is a group diff or
a diff id.
diff2DescriptionNoString (120)This feld will hold the
description of
differentiator.
diff3LevelNoString (6)This feld will contain
either ID or GROUP,
based on whether the
diff_1 is a group diff or
a diff id.
diff3DescriptionNoString (120)This feld will hold the
description of
differentiator.
diff4LevelNoString (6)This feld will contain
either ID or GROUP,
based on whether the
diff_1 is a group diff or
a diff id.
diff4DescriptionNoString (120)This feld will hold the
description of
differentiator.

Table 5-400 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
primaryImageUrlNoString (375)This feld will hold the
primary item image
URL. It is only
included for the
ItemCre and
ItemFulRep message
types. Updates to the
primary image for an
item are published in
the Item Image node.
transferAllocUpCharge
SourceType
NoString (6)This feld impacts how
up charges default to
transfers and
allocations when an
item is added. When
set to ‘D’, department-
level up charges are
applied if item-level
up charges are not
defned for the item/
from-location/to-
location combination.
When set to ‘I’, only
item-level up charges
are applied;
department-level up
charges are not
inherited.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.
customFlexAttributeNoCollection of ObjectThis List holds custom
fex attributes for the
item.
itemTranslationNoCollection of ObjectThis List holds
translation attributes
for the item.
itemSupplierNoCollection of ObjectThis List holds
supplier’s attributes
for the item.
itemUdaNoObjectThis record holds uda
attributes for the item.
itemImageNoCollection of ObjectThis List holds image
attributes for the item.
itemSeasonNoCollection of ObjectThis List holds season
attributes for the item.
referenceItemNoCollection of ObjectThis List holds
referenc item’s
attributes for the item.

Table 5-400 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemBOMNoCollection of ObjectThis List holds pack
attributes for the item.
itemTicketNoCollection of ObjectThis List holds ticket
attributes for the item.
relatedItemNoCollection of ObjectThis List holds related
item’s attributes for
the item.
htsNoCollection of ObjectThis List holds hts
attributes for the item.
expenseNoCollection of ObjectThis List holds
expense attributes for
the item.
requiredDocumentsNoCollection of ObjectThis List holds the
required documents of
the item.
itemImportAttributesNoCollection of ObjectThis List holds the
import specifc
attributes associated
with a given item.
cacheTimestampNodateTimeThis feld specifes
date and time when
item record was last
maintained.
cacheCreateTimestam
p
NodateTimeThis feld specifes
date and time when
the record was frst
created for web
serivce publication.

Table 5-401 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).

Table 5-401 (Cont.) CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-402 ItemTranslation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageCodeNoNumber(6,0)This feld contains the
language in which the
translated text is
maintained
languageNameNoString (120)This feld contains
description of
language code in
which the translated
text is maintained
isoCodeNoString (6)This feld will hold the
ISO code associated
with the given
language.
itemDescriptionNoString (250)This feld will hold the
ISO code associated
with the given
language.
itemDescriptionSecon
dary
NoString (250)This feld holds long
description of the
item. This description
is used through out the
system to help online
users identify the item.
For items that have
parents,this
description will
default to the parents
description plus any
differentiators. For
items without parents,
this description will
default to null

Table 5-402 (Cont.) ItemTranslation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
shortDescriptionNoString (120)This feld holds
shortened description
of the item. This
description is the
default for
downloading to the
POS. For items that
have parents, this
description will
default to the parents
short description. For
items without parents,
this description will
default to null
longDescriptionNoString (2000)This feld specifes
long description of the
item. This is a more
descriptive writeup
about the item
targeted largely for
platforms like
Ecommerce platforms,
Marketplaces, Order
Management Systems
etc.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.

Table 5-403 ItemSupplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierNoNumber(10,0)This feld specifes
unique identifer for
the supplier.
primarySupplierIndNoString (1)This feld indicates
whether this supplier
is the primary supplier
for the item. An item
can have one and only
one primary supplier.
vpnNoString (30)This feld contains the
Vendor Product
Number for the Item/
Supplier.
supplierLabelNoString (15)This feld contains the
supplier label. It will
only be populated if
item is a parent item.

Table 5-403 (Cont.) ItemSupplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
consignmentRateNoNumber(12,4)This feld contains the
consignment rate for
this item for the
supplier.
supplierDiff1NoString (120)This feld contains the
frst supplier
differentiator and/or
description. This feld
may only contain a
value for items with
an item_parent.
supplierDiff2NoString (120)This feld contains the
frst supplier
differentiator and/or
description. This feld
may only contain a
value for items with
an item_parent.
supplierDiff3NoString (120)This feld contains the
frst supplier
differentiator and/or
description. This feld
may only contain a
value for items with
an item_parent.
supplierDiff4NoString (120)This feld contains the
frst supplier
differentiator and/or
description. This feld
may only contain a
value for items with
an item_parent.
palletNameNoString (6)This feld specifes
code referencing the
name used to refer to
the pallet.
caseNameNoString (6)This feld specifes
code referencing the
name used to refer to
the case.
innerNameNoString (6)This feld specifes
code referencing the
name used to refer to
the inner.
supplierDiscontinueDa
te
NodateThis feld specifes the
date when the supplier
discontinues an item.

Table 5-403 (Cont.) ItemSupplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
directShipIndNoString (1)This feld indicates
that any item
associated with this
supplier is eligible for
a direct shipment from
the supplier to the
customer.
primaryCaseSizeNoString (6)This feld indicates the
primary case size for
the item supplier
when an orderable
item is confgured for
informal case types.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.
customFlexAttributeNoCollection of ObjectThis List holds custom
fex attributes for the
item’s supplier record.
itemSupplierCountryNoCollection of ObjectThis List holds custom
fex attributes for the
item supplier’s
country record.
itemSupplierCountryO
fManufacture
NoCollection of ObjectThis List holds custom
fex attributes for the
item supplier’s
manufacture record.
itemSupplierUomNoCollection of ObjectThis List holds custom
fex attributes for the
item’s supplier UOM
record.
translationNoCollection of ObjectList of translations for
Item Supplier

Table 5-404 ItemSupplierCountry - Object. See list of elements for detail

Element NameRequiredData TypeDescription
originCountryNoString (3)This feld specifes
country where the
item was
manufactured or
signifcantly altered.
primarySupplierIndNoString (1)This feld indicates
whether this supplier
is the primary supplier
for the item. Each item
can have one and only
one primary supplier.

Table 5-404 (Cont.) ItemSupplierCountry - Object. See list of elements for detail

Element NameRequiredData TypeDescription
primaryCountryIndNoString (1)This feld indicates
whether this country
is the primary country
for the item/supplier.
Each item/supplier
combination can have
one and only one
primary country.
unitCostNoNumber(20,4)This feld contains the
current corporate unit
cost for the item from
the supplier /origin
country. This feld is
stored in the Supplier’s
currency..
leadTimeNoNumber(4,0)This feld contains the
number of days that
will elapse between
the date an order is
written and the
delivery to the store or
warehouse from the
supplier.
pickupLeadTimeNoNumber(4,0)This feld Contains the
time that will be taken
to get the item from
the supplier to the
initial receiving
location.
supplierPackSizeNoNumber(12,4)This feld contains the
quantity that orders
must be placed in
multiples of for the
supplier for the item.
innerPackSizeNoNumber(12,4)This feld contains the
break pack size for
this item from the
supplier.
roundLevelNoString (6)This feld is used to
determine how order
quantities will be
rounded to case, layer
and pallet.
minimumOrderQuanti
ty
NoNumber(12,4)This feld contains the
minimum quantity
that can be ordered at
once from the supplier
for the item.

Table 5-404 (Cont.) ItemSupplierCountry - Object. See list of elements for detail

Element NameRequiredData TypeDescription
maximumOrderQuant
ity
NoNumber(12,4)This feld contains the
maximum quantity
that can be ordered at
once from the supplier
for the item.
packingMethodNoString (6)This feld indicates
whether the packing
method for the item in
the container is fat or
hanging.
defaultUopNoString (6)This feld contains the
default unit of
purchase for the item/
supplier/country. Valid
values include ‘C’
(Case) and ‘P’ (Pallet)
tiNoNumber(12,4)This feld contains
number of shipping
units (cases) that make
up one tier of the
pallet. Multiply TI x HI
to get total number of
units (cases) in a
Pallet.
hiNoNumber(12,4)This feld contains
number of tiers that
make up a complete
pallet. Multiply TI x HI
to get total number of
units (cases) in a
Pallet.
costUomNoString (4)This feld contains cost
UOM is held to allow
costs to be managed in
a separate UOM to the
standard UOM.
toleranceTypeNoString (6)The unit of tolerance
for catch weight
simple packs. Valid
values are: ‘A’ - actual
’P’ - percent.
maximumToleranceNoNumber(12,4)The maximum
tolerance value for the
catch weight simple
pack.
minimumToleranceNoNumber(12,4)The minimum
tolerance value for the
catch weight simple
pack.

Table 5-404 (Cont.) ItemSupplierCountry - Object. See list of elements for detail

Element NameRequiredData TypeDescription
roundToInnerPercenta
ge
NoNumber(12,4)This feld will hold the
Inner Rounding
Threshold value.
During rounding, this
value is used to
determine whether to
round partial Inner
quantities up or down.
If the Inner-fraction in
question is less than
the Threshold
proportion, it is
rounded down; if not,
it is rounded up.
roundToCasePercentag
e
NoNumber(12,4)This feld will hold the
Case Rounding
Threshold value.
During rounding, this
value is used to
determine whether to
round partial Case
quantities up or down.
If the Case-fraction in
question is less than
the Threshold
proportion, it is
rounded down; if not,
it is rounded up.
roundToLayerPercent
age
NoNumber(12,4)This feld will hold the
Layer Rounding
Threshold value.
During rounding, this
value is used to
determine whether to
round partial Layer
quantities up or down.
If the Layer-fraction in
question is less than
the Threshold
proportion, it is
rounded down; if not,
it is rounded up.

Table 5-404 (Cont.) ItemSupplierCountry - Object. See list of elements for detail

Element NameRequiredData TypeDescription
roundToPalletPercenta
ge
NoNumber(12,4)This feld will hold the
Pallet Rounding
Threshold value.
During rounding, this
value is used to
determine whether to
round partial Pallet
quantities up or down.
If the Pallet -fraction in
question is less than
the Threshold
proportion, it is
rounded down; if not,
it is rounded up.
supplierHierarchyTyp
e1
NoString (6)This feld identifes
partner type of
supplier hierarchy
level 1. This feld will
always have the
partner type S1 which
indicates
manufacturer.
supplierHierarchyLev
el1
NoString (10)This feld contains
highest level of
supplier hierarchy
which is there to
indicate a partner,
such as a
manufacturer, in the
supply chain that gives
rebates to the retailer.
supplierHierarchyTyp
e2
NoString (6)This feld identifes
partner type of
supplier hierarchy
level 2. This feld will
always have the
partner type S2 which
indicates distributor.
supplierHierarchyLev
el2
NoString (10)This feld conatins
second highest level of
supplier hierarchy
which is there to
indicate a partner,
such as a distributor,
in the supply chain
that gives rebates to
the retailer..
supplierHierarchyTyp
e3
NoString (6)This feld identifes
partner type of
supplier hierarchy
level 3. This feld will
always have the
partner type S3 which
indicates wholesaler.

Table 5-404 (Cont.) ItemSupplierCountry - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierHierarchyLev
el3
NoString (10)Third highest level of
supplier hierarchy
which is there to
indicate a partner,
such as a wholesaler,
in the supply chain
that gives rebates to
the retailer.
negotiatedItemCostNoNumber(20,4)This feld will hold the
supplier negotiated
item cost for the
primary delivery
country of the item.
Once a location is
associated with the
item, the primary
locations negotiated
item cost will be stored
in this feld.
extendedBaseCostNoNumber(20,4)This feld will hold the
extended base cost for
the primary delivery
country of the item.
Once a location is
associated with the
item, the primary
locations extended
base cost will be
stored in this feld.
Extended base cost is
the cost inclusive of all
the taxes that affect
the WAC. In case of
GTAX, Extended Base
Cost = Base Cost + Non-
recoverable taxes. In
case of VAT, Extended
Base Cost = Base Cost.

Table 5-404 (Cont.) ItemSupplierCountry - Object. See list of elements for detail

Element NameRequiredData TypeDescription
inclusiveCostNoNumber(20,4)This feld will hold the
inclusive cost for the
primary delivery
country of the item.
Once a location is
associated with the
item, the primary
locations inclusive cost
will be stored in this
feld. This cost will
have both the
recoverable and non-
recoverable taxes
included. In case of
GTAX, Inclusive Cost =
Base Cost + Non-
recoverable taxes +
Recoverable Taxes. In
case of VAT, Inclusive
Cost = Base Cost + VAT.
baseCostNoNumber(20,4)This feld will hold the
tax exclusive cost of
the item.
purchaseTypeNoNumber(1,0)This feld contains a
code to indicate
whether the item is
normal merchandise
(i.e. owned by the
retailer), consignment
stock or a concession
item. Valid values are
0 - Owned, 1 -
Consignment, 2 -
Concession.
calculationBasisNoString (1)This feld indicates if
the cost for the
consignment/
concession item will
be managed either
based on cost per unit
or as a percentage of
retail. Valid values are
C - Cost per Unit, P -
Purchase Rate.
purchaseRateNoNumber(12,4)This feld contains the
percentage of the
retail price which will
determine the cost
paid to the supplier for
a consignment or
concession item.

Table 5-404 (Cont.) ItemSupplierCountry - Object. See list of elements for detail

Element NameRequiredData TypeDescription
pricingControlNoString (1)This feld contains the
pricing control of the
item which will
determine the item
price is controlled by
Retailer or Supplier.
Valid value are R -
Managed by Retailer, S
- Managed by Supplier,
NULL - For Owned
Items
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.
customFlexAttributeNoCollection of ObjectThis List holds custom
fex attributes for the
item supplier’s
country record.
itemSupplierCountryD
imension
NoCollection of ObjectThis List holds
dimension attributes
for the item supplier’s
country record.

Table 5-405 ItemSupplierCountryDimension - Object. See list of elements for detail

Element NameRequiredData TypeDescription
dimensionObjectNoString (6)This feld Specifc
object whose
dimensions are
specifed in this record
(e.g. case, pallet, each).
Valid values for this
feld are in the code
type DIMO on the
codes tables.
dimensionObjectDescr
iption
NoString (250)This feld conatins
description of the
dimesnion object.
presentationMethodNoString (6)This feld describes the
packaging (if any)
being taken into
consideration in the
specifed dimensions.
Valid values for this
feld are in the code
type PCKT on the
codes tables.

Table 5-405 (Cont.) ItemSupplierCountryDimension - Object. See list of elements for detail

Element NameRequiredData TypeDescription
presentationMethodDe
scription
NoString (250)This feld conatins
description of the
presentation method.
lengthNoNumber(12,4)This feld conatins
length of dim_object
measured in units
specifed in terms of
the LWH Unit of
Measure.
widthNoNumber(12,4)This feld conatins
width of dim_object
measured in units
specifed in terms of
the LWH Unit of
Measure.
heightNoNumber(12,4)This feld conatins
height of dim_object
measured in units
specifed in terms of
the LWH Unit of
Measure.
lwhUomNoString (4)This feld conatins
measurement for
length, width, and
height.
weightNoNumber(12,4)This feld conatins
weight of dim_object
measured in units
specifed in terms of
the Weight Unit of
Measure.
netWeightNoNumber(12,4)This feld conatins net
weight of the
dim_object (weight
without packaging)
measured in units
specifed in terms of
the Weight Unit of
Measure.
weightUomNoString (4)This feld conatins unit
of measurement for
Weight and Net
Weight.
liquidVolumeNoNumber(12,4)This feld conatins unit
of measurement for
vloume.

Table 5-405 (Cont.) ItemSupplierCountryDimension - Object. See list of elements for detail

Element NameRequiredData TypeDescription
liquidVolumeUomNoString (4)This feld conatins unit
of measurement for
liquid volume. Liquid
volumes are only
convertible to other
liquid volumes.
statisticalCaseNoNumber(12,4)This feld conatins
statistical value of the
dim_object’s
dimensions to be used
for loading purposes.
tareWeightNoNumber(12,4)This feld conatins
amount of weight to
be subtracted for
packaging materials.
Used to calculate the
true net weight of the
dim_object.
tareTypeNoString (6)This feld indicates
whether the tare
weight for the
dim_object is wet or
dry.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.

Table 5-406 ItemSupplierCountryOfManufacture - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryIdNoString (3)This feld holds
country ID of
manufacturer.
primaryIndNoString (1)This feld indicates
primary country of
manufacturer
indicator.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.

Table 5-407 ItemSupplierUom - Object. See list of elements for detail

Element NameRequiredData TypeDescription
uomNoString (4)This feld holds unit of
measure that the item
is being measured in.
valueNoNumber(20,4)This feld holds value
of measure.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.

Table 5-408 ItemSupplierTranslation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageCodeNoNumber(6,0)The code identifying
the language.
languageNameNoString (120)The display name of
the language.
isoCodeNoString (6)The ISO code of the
language.
supplierDiff1NoString (120)This feld contains the
frst supplier
differentiator and/or
description.
supplierDiff2NoString (120)This feld contains the
second supplier
differentiator and/or
description.
supplierDiff3NoString (120)This feld contains the
third supplier
differentiator and/or
description.
supplierDiff4NoString (120)This feld contains the
fourth supplier
differentiator and/or
description.
supplierLabelNoString (15)The translated
supplier label for the
item.
createDateTimeNodateTimeThe creation date/time
of the translation
record.
updateDateTimeNodateTimeThe last update date/
time of the translation
record.

Table 5-409 ItemUda - Object. See list of elements for detail

Element NameRequiredData TypeDescription
udaLovNoCollection of ObjectThis List attributes for
the item’s uda list of
values.
udaFreeformNoCollection of ObjectThis List holds
attributes for the
item’s uda free form .
udaDateNoCollection of ObjectThis List holds
attributes for the
item’s uda date.

Table 5-410 UdaLov - Object. See list of elements for detail

Element NameRequiredData TypeDescription
udaIdNoNumber(5,0)This feld contains a
number identifying
the user-defned
attribute.
udaDescriptionNoString (120)This feld contains
description of user-
defned attribute.
udaValueNoNumber(5,0)This feld contains the
unique identifed of
the Attribute Group
being added or delete
to the item list.
udaValueDescriptionNoString (250)This feld contains the
value of the Attribute
Group.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.

Table 5-411 UdaFreeForm - Object. See list of elements for detail

Element NameRequiredData TypeDescription
udaIdNoNumber(5,0)This feld contains a
number identifying
the user-defned
attribute.
udaDescriptionNoString (120)This feld contains
description of user-
defned attribute.
udaTextNoString (250)This feld contains the
text value of the user-
defned attribute for
the item.

Table 5-411 (Cont.) UdaFreeForm - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.
translationNoCollection of ObjectList of translations for
UDA free form text.

Table 5-412 UdaFreeFormTranslation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageCodeNoNumber(6,0)The code identifying
the language.
languageNameNoString (120)The display name of
the language.
isoCodeNoString (6)The ISO code of the
language.
udaTextDescNoString (250)The translated UDA
text.
createDateTimeNodateTimeThe creation date/time
of the translation
record.
updateDateTimeNodateTimeThe last update date/
time of the translation
record.

Table 5-413 UdaDate - Object. See list of elements for detail

Element NameRequiredData TypeDescription
udaIdNoNumber(5,0)This feld contains a
number identifying
the user-defned
attribute.
udaDescriptionNoString (120)This feld contains
description of user-
defned attribute.
udaDateNodateThis feld contains the
effective date for the
UDA id.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.

Table 5-414 ItemImage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
imageNameNoString (120)This feld specifes
name of the image.
imageAddressNoString (255)This feld specifes
path where the image
fle is stored.
imageTypeNoString (6)This feld contains the
type of the image of
the item. Valid values
are defned as member
of IITD code type.
primaryImageIndNoString (1)This feld specifes
display sequence
order of images
associated to the item
per priority.
displayPriorityNoNumber(4,0)This feld specifes
display sequence
order of images
associated to the item
per priority.
imageDescriptionNoString (40)This feld contains the
description associated
with the image of the
item.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.
translationNoCollection of ObjectList of translations for
Item Image

Table 5-415 ItemImageTranslation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageCodeNoNumber(6,0)The code identifying
the language.
languageNameNoString (120)The display name of
the language.
isoCodeNoString (6)The ISO code of the
language.
imageDescriptionNoString (40)This feld contains the
translated description
associated with the
image of the item.
createDateTimeNodateTimeThe creation date/time
of the translation
record.

Table 5-415 (Cont.) ItemImageTranslation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
updateDateTimeNodateTimeThe last update date/
time of the translation
record.

Table 5-416 ItemSeason - Object. See list of elements for detail

Element NameRequiredData TypeDescription
seasonIdNoNumber(3,0)The season identifer.
phaseIdNoNumber(3,0)The phase identifer.
sequenceNoNoNumber(4,0)This feld contains a
sequence number that
combined with the
item number will
make each record
unique.
diffIdNoString (10)This feld will hold a
value for group/
differentiator
combination records
only.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.

Table 5-417 ReferenceItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
referenceItemNoString (25)This feld holds Unique
identifer for the item.
primaryIndNoString (1)This feld Indicates if
the sub-transaction
level item is
designated as the
primary sub-
transaction level item.
For transaction level
items and above, the
value in this feld will
be ‘N’.
formatIdNoString (1)This feld will hold the
format id that
corresponds to the
item’s variable UPC.
This value is only used
for items with variable
UPCs.

Table 5-417 (Cont.) ReferenceItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
prefxNoNumber(2,0)This feld holds the
prefx for variable
weight UPCs. The
prefx determines the
format of the eventual
UPC and will be used
to decode variable
weight UPCs that are
uploaded from the
POS.
itemNoTypeNoString (6)This feld holds code
specifying what type
the item is. Valid
values for this feld are
in the code type UPCT
on the code_head and
code_detail tables.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.

Table 5-418 ItemBom - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentItemNoString (25)This feld specifes
unique identifer for
the component item.
packQuantityNoNumber(12,4)This feld specifes
contains the quantity
of each item in the
pack item.

Table 5-419 ItemTicket - Object. See list of elements for detail

Element NameRequiredData TypeDescription
ticketOverPercentageNoNumber
printOnPcIndNoString
ticketTypeIdNoString (4)This feld uniquely
identifes the ticket
type which is
associated with the
item.
ticketTypeDescriptionNoString (120)This feld contains a
description of the
ticket or label type.

Table 5-419 (Cont.) ItemTicket - Object. See list of elements for detail

Element NameRequiredData TypeDescription
shelfEdgeLabelIndNoString (1)This feld contains a
description of the
ticket or label type.
poPrintTypeNoString (1)This feld indicates
when the ticket type
for the given item
should be printed by
default, upon the
approval or receipt of
the purchase order.
Valid values are: A and
R.
printOnPriceChangeIn
d
NoString (1)This feld indicates
whether or not this
type of ticket should
be printed for this
item when a
permanent price
change goes into
effect. Valid values in
this feld are:Y - Yes N -
No.
ticketOverPrintPercent
age
NoNumber(12,4)This feld contains a
percent which
indicates the amount
of tickets which should
be printed for a given
event. If the event
causing tickets to be
printed is approving
or receiving a
purchase order, then
this feld indicates the
quantity of tickets
which should be
printed greater than
the quantity of the
purchase order. If the
event causing the
tickets to be printed is
a permanent price
change, this feld
would indicate the
quantity of tickets
which should be
printed greater than
the stock on hand.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.

Table 5-419 (Cont.) ItemTicket - Object. See list of elements for detail

Element NameRequiredData TypeDescription
detailsNoCollection of ObjectThis List holds
attributes for the item
ticket details.

Table 5-420 ItemTicketDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
ticketItemIdNoString (4)This feld contains a
character string which
uniquely identifes an
attribute which will
appear on a ticket or
label such as retail
price or price per unit
of measure.
ticketItemIdDescriptio
n
NoString (250)This feld contains the
description of the
ticket_item_id.
udaIdNoNumber(5,0)This feld contains a
number which
uniquely defnes a
user-defned attribute
which is to be printed
on this ticket type.
sequenceNoNoNumber(4,0)This feld contains
sequence number of
item’s ticket record.

Table 5-421 RelatedItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
relationshipIdNoNumber(20,0)A system generated
numeric feld that
uniquely identifes the
relationship record in
related_item_head
table.
relationshipNameNoString (255)This feld holds user
entered name of the
relationshipe.
relationshipTypeNoString (6)This feld holds user
entered name of the
relationshipe.
mandatoryIndNoString (1)Indicates whether the
relationship is
mandatory or not.
Valid values: ‘Y’ (yes),
‘N’ (no).

Table 5-421 (Cont.) RelatedItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.
translationNoCollection of ObjectThis List holds
translation attributes
for the relationship.
detailsNoCollection of ObjectThis List holds
attributes for the
related item details.

Table 5-422 RelatedItemTranslation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageCodeNoNumber(6,0)This feld contains the
language in which the
translated text is
maintained
languageNameNoString (120)This feld contains
description of
language code in
which the translated
text is maintained
isoCodeNoString (6)This feld will hold the
ISO code associated
with the given
language.
relationshipNameNoString (255)This feld holds the
translated value of the
relationship name
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.

Table 5-423 RelatedItemDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
relatedItemNoString (25)Item for which related
items are defned.
Valid transaction level/
sellable item. Multiple
items can be defned
for a relationship.

Table 5-423 (Cont.) RelatedItemDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
priorityNoNumber(4,0)This feld indicates
relationship priority.
Applicable only for
relationship type
Substitute.
startDateNodateThe related item can
be used on
transactions starting
this date.
endDateNodateThis feld related item
can be used on
transactions until this
date. A value of null
means that it is always
effective.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTime
able 5-424 ItemH
No
ts - Object. See lis
dateTime
t of elements for detail
This feld holds the
date when the record
was last updated.
Element NameRequiredData TypeDescription
htsNoString (25)The unique identifer
for the Harmonized
Tariff Schedule code.
importCountryNoString (3)The unique identifer
for the country that
the item will be
imported into.
originCountryNoString (3)The country where the
item was
manufactured or
signifcantly altered.
effectFromNodateThe date from which
the Item/HTS
relationship is valid.
This feld is used to
maintain historical
information related to
the Item/HTS
relationship.

Table 5-424 ItemHts - Object. See list of elements for detail

Table 5-424 (Cont.) ItemHts - Object. See list of elements for detail

Element NameRequiredData TypeDescription
effectToNodateThe date until when
the Item/HTS
relationship is valid.
This feld is used to
maintain historical
information related to
the item/HTS
relationship.
clearingZoneIdNoString (5)The concept of
’clearing zone’
represents a country’s
zone-level point of
entry of goods (for
example, zones within
the country where the
goods are clearing
customs). No locations
or cost zones are
associated to a
clearing zone. This
feld holds the Clearing
Zone ID for the
effective HTS code.
Clearing zones are
defned by import
country.
statusNoString (1)Used to indicate the
status of the Item/HTS
relationship. Valid
values are
(W)orksheet and
(A)pproved.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.
assessmentsNoCollection of ObjectReferences a collection
of assessments
associated to the item
HTS.

Table 5-425 ItemHtsAssess - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentIdNoString (10)The code representing
the specifc assessment
component.

Table 5-425 (Cont.) ItemHtsAssess - Object. See list of elements for detail

Element NameRequiredData TypeDescription
computationValueBaseNoString (10)The Computation
Value Base
representing the base
value for calculating
the assessment.
componentRateNoNumber(20,4)The rate to be charged
against the calculation
base. This feld will
hold a percentage
value if the Calculation
Basis of the
Component is Value or
a monetary amount if
the Calculation Basis is
Specifc.
perCountNoNumber(12,4)A count indicating the
amount of the Per
Count Unit of Measure
to which the rate
applies. This column is
only used for specifc
(per-unit) assessments.
perCountUomNoString (4)The unit of measure in
which the Per Count is
specifed. This column
is only used from
specifc (per-unit)
assessments.
estimatedAssessmentV
alue
NoNumber(26,10)Contains the
calculated value of the
Component.
componentCurrencyNoString (3)This feld contains
component currency.

Table 5-425 (Cont.) ItemHtsAssess - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nominationFlag1NoString (1)This feld contains a
fag that is used to
indicate if the value of
the cost component
should be included in
the calculation of
another. Nomination
fags are used to
calculate the value of a
Computation Value
Base (CVB) which has
the corresponding
nomination fag set to
Yes (Y). Valid values
are: N/A (N) (the value
of this component will
not be included in
CVBs which look at
Nomination Flag 1),
Add (+) (the value of
this component will be
added to CVBs which
look at Nomination
Flag 1), and Subtract
(-) (the value of this
component will be
deducted from CVBs
which look at
Nomination Flag 1).
For example, if cost
component ABC has a
+ in Nomination Flag
1, then all CVBs that
include Nomination
Flag 1 will include this
cost component value
in their calculation
basis.
inDutyNoString (1)If Import Management
is enabled in
Merchandising (i. e.
system_options.
import_ind = Y), the
inDuty fag is used to
indicate if the value of
the cost component
should be included in
total duty.

Table 5-425 (Cont.) ItemHtsAssess - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nominationFlag3NoString (1)This feld contains a
fag that is used to
indicate if the value of
the cost component
should be included in
the calculation of
another. Nomination
fags are used to
calculate the value of a
Computation Value
Base (CVB) which has
the corresponding
nomination fag set to
Yes (Y). Valid values
are: N/A (N) (the value
of this component will
not be included in
CVBs which look at
Nomination Flag 3),
Add (+) (the value of
this component will be
added to CVBs which
look at Nomination
Flag 3), and Subtract
(-) (the value of this
component will be
deducted from CVBs
which look at
Nomination Flag 3).
For example, if cost
component ABC has a
+ in Nomination Flag
3, then all CVBs that
include Nomination
Flag 3 will include this
cost component value
in their calculation
basis.
inExpenseNoString (1)The inExpense fag is
used to indicate if the
value of the cost
component should be
included in total
expenses.

Table 5-425 (Cont.) ItemHtsAssess - Object. See list of elements for detail

Element NameRequiredData TypeDescription
inAlcNoString (1)The inALC fag is used
for cost components
where the retailer
does not expect to
receive an actual value
for the charge via an
obligation or customs
entry. The inALC fag
allows the value of the
cost component to be
included in ALC via
direct nomination and
indicates to the system
that the estimated
value on the order
should be used as the
actual value as well
because no other
actual will be
provided.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.

Table 5-426 ItemExpense - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierNoNumber(10,0)The unique identifer
for the supplier.
countryOfSourcingNoString (3)The country where the
item was
manufactured or
signifcantly altered.
ladingPortNoString (5)The fnal destination
lading port of the item
if the Expense Type is
Country.
dischargePortNoString (5)The port where the
item will enter the
importing country.
costZoneGroupIdNoNumber(4,0)This feld holds the
items Zone Group, it is
stored here for
performance reasons.
costZoneIdNoNumber(10,0)The fnal destination
zone of the item if the
Expense Type is Zone.

Table 5-426 (Cont.) ItemExpense - Object. See list of elements for detail

Element NameRequiredData TypeDescription
baseExpenseIndNoString (1)This feld indicates
whether or not this Set
of Expenses is also the
base Set of Expenses.
componentIdNoString (10)The code representing
the specifc expense
component.
computationValueBaseNoString (10)The Computation
Value Base
representing the base
value for calculating
the expense.
componentRateNoNumber(20,4)The rate to be charged
against the calculation
base. This feld will
hold a percentage
value if the Calculation
basis of the
Component is Value or
a monetary amount if
the Calculation Basis is
Specifc.
perCountNoNumber(12,4)A count indicating the
amount of the Per
Count Unit of Measure
to which the rate
applies. This column is
only used for specifc
(per-unit) expenses.
perCountUomNoString (4)The unit of measure in
which the Per Count is
specifed. This column
is only used from
specifc (per-unit)
expenses.
estimatedExpenseValu
e
NoNumber(26,10)This feld contains the
calculated value of the
Component.
componentCurrencyNoString (3)This feld contains the
currency the expense
is to be entered in. If
the Calculation Basis is
V (Value), then the
comp_currency will be
NULL.

Table 5-426 (Cont.) ItemExpense - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nominationFlag1NoString (1)This feld contains a
fag that is used to
indicate if the value of
the cost component
should be included in
the calculation of
another. Nomination
fags are used to
calculate the value of a
Computation Value
Base (CVB) which has
the corresponding
nomination fag set to
Yes (Y). Valid values
are: N/A (N) (the value
of this component will
not be included in
CVBs which look at
Nomination Flag 1),
Add (+) (the value of
this component will be
added to CVBs which
look at Nomination
Flag 1), and Subtract
(-) (the value of this
component will be
deducted from CVBs
which look at
Nomination Flag 1).
For example, if cost
component ABC has a
+ in Nomination Flag
1, then all CVBs that
include Nomination
Flag 1 will include this
cost component value
in their calculation
basis.
inDutyNoString (1)If Import Management
is enabled in
Merchandising (i. e.
system_options.
import_ind = Y), the
inDuty fag is used to
indicate if the value of
the cost component
should be included in
total duty.

Table 5-426 (Cont.) ItemExpense - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nominationFlag3NoString (1)This feld contains a
fag that is used to
indicate if the value of
the cost component
should be included in
the calculation of
another. Nomination
fags are used to
calculate the value of a
Computation Value
Base (CVB) which has
the corresponding
nomination fag set to
Yes (Y). Valid values
are: N/A (N) (the value
of this component will
not be included in
CVBs which look at
Nomination Flag 3),
Add (+) (the value of
this component will be
added to CVBs which
look at Nomination
Flag 3), and Subtract
(-) (the value of this
component will be
deducted from CVBs
which look at
Nomination Flag 3).
For example, if cost
component ABC has a
+ in Nomination Flag
3, then all CVBs that
include Nomination
Flag 3 will include this
cost component value
in their calculation
basis.
inExpenseNoString (1)The inExpense fag is
used to indicate if the
value of the cost
component should be
included in total
expenses.

Table 5-426 (Cont.) ItemExpense - Object. See list of elements for detail

Element NameRequiredData TypeDescription
inAlcNoString (1)The inALC fag is used
for cost components
where the retailer
does not expect to
receive an actual value
for the charge via an
obligation or customs
entry. The inALC fag
allows the value of the
cost component to be
included in ALC via
direct nomination and
indicates to the system
that the estimated
value on the order
should be used as the
actual value as well
because no other
actual will be
provided.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
able 5-427 Requir
Element Name
edDocuments - Obje
Required
ct. See list of element
Data Type
date when the record
was last updated.
s for detail
Description
documentId
able 5-428 ItemIm
Element Name
No
portAttr - Object. Se
Required
Number(6,0)
e list of elements for d
Data Type
This feld contains
documents of the
items.
etail
Description
importDescriptionNoString (2000)This feld contains
description of the item
used for importing
purposes..
commodityNoString (6)This feld contains the
code used to classify
the item by their type
of merchandise.
toolingNoNumber(20,4)This feld contains the
cost associated with a
given Tooling/Assist
charge.

Table 5-427 RequiredDocuments - Object. See list of elements for detail

Element NameRequiredData TypeDescription
documentIdNoNumber(6,0)This feld contains
documents of the
items.

Table 5-428 ItemImportAttr - Object. See list of elements for detail

Table 5-428 (Cont.) ItemImportAttr - Object. See list of elements for detail

Element NameRequiredData TypeDescription
frstOrderIndicatorNoString (1)This feld contains
indicator to determine
if duty is to be paid on
the total value of the
tooling expense the
frst time the item is
shipped
amortizeBaseNoNumber(12,4)This feld contains the
number of units over
which the tooling/
assist cost will be
amortized.
openBalanceNoNumber(12,4)This feld contains the
open balance of the
number of units yet to
be received over
which the tooling costs
will be amortized.
createDateTimeNodateTimeThis feld holds the
record creation date.

Table 5-429 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"longtDescription": "String",
"item": "100100076",
"itemNumberType": "MANL",
"status": "A",
"itemLevel": 1,
"tranLevel": 1,
"itemDescription": "Regular Item 100100076",
"shortDescription": "100100076 Item",
"itemDescriptionUppercase": "100100076 ITEM REGULAR",
"itemDescriptionSecondary": "100100076 Item Regular",
"longDescription": null,
"itemParent": null,
"itemGrandparent": null,
"sellableInd": "Y",
"orderableInd": "Y",
"inventoryInd": "Y",
"packInd": "Y",
"simplePackInd": "N",
"containsInnerInd": "N",
"dept": 3041,
"deptName": null,
"class": 1.0,
"className": null,
"uniqueClassId": 1,
"subclass": 1,
"subclassName": null,
"uniqueSubclassId": 1,
"unitRetail": 1.0,
"variableUpcFormatId": null,
"variableWeightUpcPrefix": 1,
"diff1": null,
"diff1Type": null,
"diff2": null,
"diff2Type": null,
"diff3": null,
"diff3Type": null,
"diff4": null,
"diff4Type": null,
"costZoneGroupId": 1000,
"standardUom": "EA",
"uomConversionFactor": 3,
"packageSize": 1.0,
"packageUom": null,
"merchandiseInd": "Y",
"storeOrderMultiple": "E",
"forecastInd": null,
"manufacturerRecommendedRetail": 12.99,
"manufacturerRetailCurrencyCode": "USD",
"originalRetail": 12.99,
"originalRetailCurrencyCode": "USD",
"retailLabelType": null,
"retailLabelTypeDescription": null,
"retailLabelValue": 1.0,
"handlingTemperature": null,
"handlingTemperatureDescription": null,
"handlingSensitivity": null,
"handlingSensitivityDescription": null,
"catchWeightInd": "Y",
"catchWeightType": null,
"catchWeightUom": "EA",
"orderType": null,
"saleType": null,
"wasteType": null,
"wasteTypeDescription": null,
"averageWastePercentage": 1.0,
"defaultWastePercentage": 1.0,
"constantDimensionInd": "Y",
"packType": null,
"orderAsType": null,
"comments": null,
"itemServiceLevel": null,
"giftWrapInd": "Y",
"shipAloneInd": "Y",
"brandName": null,
"brandDescription": null,
"perishableInd": "Y",
"itemTransformInd": "N",
"depositItemType": null,
"containerItem": null,
"depositInPricePerUom": null,
"storePackInventoryInd": "Y",
"sohInquiryAtPackInd": "Y",
"purchaseType": null,
"productClassification": null,
"productClassificationDescription": null,
"itemAggregateInd": "Y",
"diff1AggregateInd": "Y",
"diff2AggregateInd": "Y",
"diff3AggregateInd": "Y",
"diff4AggregateInd": "Y",
"diff1Level": null,
"diff1Description": null,
"diff2Level": null,
"diff2Description": null,
"diff3Level": null,
"diff3Description": null,
"diff4Level": null,
"diff4Description": null,
"primaryImageUrl": null,
"transferAllocUpChargeSourceType": "D",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"itemTranslation": [
{
"languageCode": 2,
"languageName": null,
"isoCode": "en-US",
"itemDescription": "itemDesc",
"itemDescriptionSecondary": "itemDescSecondary",
"shortDescription": "shortDesc",
"longDescription": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"itemSupplier": [
{
"supplier": 2400,
"primarySupplierInd": "Y",
"vpn": null,
"supplierLabel": null,
"consignmentRate": 3,
"supplierDiff1": null,
"supplierDiff2": null,
"supplierDiff3": null,
"supplierDiff4": null,
"palletName": "PAL",
"caseName": "CS",
"innerName": "INR",
"supplierDiscontinueDate": "2001-12-31",
"directShipInd": "Y",
"primaryCaseSize": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"itemSupplierCountry": [
{
"originCountry": null,
"primarySupplierInd": null,
"primaryCountryInd": "Y",
"unitCost": 9.65,
"leadTime": 1,
"pickupLeadTime": 1,
"supplierPackSize": 1,
"innerPackSize": 1,
"roundLevel": "C",
"minimumOrderQuantity": 1.0,
"maximumOrderQuantity": 1,
"packingMethod": "HANG",
"defaultUop": null,
"ti": 1,
"hi": 1,
"costUom": "EA",
"toleranceType": null,
"maximumTolerance": 1.0,
"minimumTolerance": 1.0,
"roundToInnerPercentage": 50,
"roundToCasePercentage": 50,
"roundToLayerPercentage": 50,
"roundToPalletPercentage": 50,
"supplierHierarchyType1": null,
"supplierHierarchyLevel1": null,
"supplierHierarchyType2": null,
"supplierHierarchyLevel2": null,
"supplierHierarchyType3": null,
"supplierHierarchyLevel3": null,
"negotiatedItemCost": 1.0,
"extendedBaseCost": 1.0,
"inclusiveCost": 1.0,
"baseCost": 1.0,
"purchaseType": 0,
"calculationBasis": null,
"purchaseRate": 1.0,
"pricingControl": "R",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"itemSupplierCountryDimension": [
{
"dimensionObject": null,
"dimensionObjectDescription": null,
"presentationMethod": null,
"presentationMethodDescription": null,
"length": 1.0,
"width": 1.0,
"height": 1.0,
"lwhUom": null,
"weight": 1.0,
"netWeight": 1.0,
"weightUom": null,
"liquidVolume": 1.0,
"liquidVolumeUom": null,
"statisticalCase": 1.0,
"tareWeight": 1.0,
"tareType": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
],
"itemSupplierCountryOfManufacture": [
{
"countryId": "BR",
"primaryInd": "N",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"itemSupplierUom": [
{
"uom": null,
"value": 1.0,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"translation": [
{
"languageCode": 2,
"languageName": null,
"isoCode": "en-US",
"supplierDiff1": null,
"supplierDiff2": null,
"supplierDiff3": null,
"supplierDiff4": null,
"supplierLabel": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
],
"itemUda": {
"udaLov": [
{
"udaId": 1,
"udaDescription": null,
"udaValue": 1,
"udaValueDescription": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"udaFreeform": [
{
"udaId": 1,
"udaDescription": null,
"udaText": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"translation": [
{
"languageCode": 2,
"languageName": null,
"isoCode": "en-US",
"udaTextDesc": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
],
"udaDate": [
{
"udaId": 1,
"udaDescription": null,
"udaDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
},
"itemImage": [
{
"imageName": "imageName1",
"imageAddress": "http://www.oracle.com/",
"imageType": "T",
"primaryImageInd": "Y",
"displayPriority": 1,
"imageDescription": "imageDesc1",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"translation": [
{
"languageCode": 2,
"languageName": null,
"isoCode": "en-US",
"imageDescription": "Item Image",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
],
"itemSeason": [
{
"seasonId": 1,
"phaseId": 1,
"sequenceNo": 1,
"diffId": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"referenceItem": [
{
"referenceItem": null,
"primaryInd": "N",
"formatId": null,
"prefix": 1,
"itemNoType": "MANL",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"itemBOM": [
{
"componentItem": null,
"packQuantity": 1.0
}
],
"itemTicket": [
{
"ticketOverPercentage": 1.0,
"printOnPcInd": "String",
"ticketTypeId": null,
"ticketTypeDescription": null,
"shelfEdgeLabelInd": null,
"poPrintType": null,
"printOnPriceChangeInd": "Y",
"ticketOverPrintPercentage": 3,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"details": [
{
"ticketItemId": null,
"ticketItemIdDescription": null,
"udaId": 1,
"sequenceNo": 1
}
]
}
],
"relatedItem": [
{
"relationshipId": 1,
"relationshipName": null,
"relationshipType": null,
"mandatoryInd": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"translation": [
{
"languageCode": 2,
"languageName": null,
"isoCode": "en-US",
"relationshipName": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"details": [
{
"relatedItem": null,
"priority": 1,
"startDate": "2001-12-31",
"endDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
],
"hts": [
{
"hts": null,
"importCountry": "US",
"originCountry": "US",
"effectFrom": "2001-12-31",
"effectTo": "2001-12-31",
"clearingZoneId": null,
"status": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"assessments": [
{
"componentId": null,
"computationValueBase": null,
"componentRate": 1.0,
"perCount": 1.0,
"perCountUom": null,
"estimatedAssessmentValue": 1.0,
"componentCurrency": null,
"nominationFlag1": null,
"inDuty": null,
"nominationFlag3": null,
"inExpense": null,
"inAlc": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
],
"expense": [
{
"supplier": 2400,
"countryOfSourcing": "US",
"ladingPort": "7",
"dischargePort": "480",
"costZoneGroupId": 1,
"costZoneId": 1,
"baseExpenseInd": "N",
"componentId": "AGCOMM",
"computationValueBase": "TDTYUS",
"componentRate": 3.55,
"perCount": 3,
"perCountUom": "EA",
"estimatedExpenseValue": 1.0,
"componentCurrency": "USD",
"nominationFlag1": null,
"inDuty": null,
"nominationFlag3": null,
"inExpense": null,
"inAlc": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"requiredDocuments": [
{
"documentId": 1
}
],
"itemImportAttributes": [
{
"importDescription": "import desc",
"commodity": "A123",
"tooling": 12,
"firstOrderIndicator": "Y",
"amortizeBase": 12.4568,
"openBalance": 12.4568,
"createDateTime": "2001-12-31T23:59:59.000Z"
}
],
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ITEM_MASTERYesNoNoNo
ITEM_MASTER_CFA_EXTYesNoNoNo
ITEM_SUPPLIER_CFA_EXTYesNoNoNo
ITEM_SUPP_COUNTRY_CFA_EXTYesNoNoNo
ITEM_SUPP_COUNTRY_LOC_CFA_EXTYesNoNoNo
MERCHAPI_EXT_ITEMYesYesYesYes
V_MERCHAPI_EXT_ITEM_JSONYesNoNoNo
ICL_RMS_ITEM_MASTERYesNoYesYes
ICL_RMS_ITEM_SUPPLIERYesNoYesYes
ICL_RMS_ITEM_SUPP_UOMYesNoYesYes
ICL_RMS_ITEM_SUPP_CTRYYesNoYesYes
ICL_RMS_ITEM_SUPP_CTRY_DIMYesNoYesYes
TABLESELECTINSERTUPDATEDELETE
ICL_RMS_ITEM_SUPP_MANU_CTRYYesNoYesYes
ICL_RMS_ITEM_TICKETYesNoYesYes
ICL_RMS_UDA_ITEM_DATEYesNoYesYes
ICL_RMS_UDA_ITEM_LOVYesNoYesYes
ICL_RMS_UDA_ITEM_FFYesNoYesYes
ICL_RMS_ITEM_IMAGEYesNoYesYes
ICL_RMS_ITEM_SEASONSYesNoYesYes
ICL_RMS_RELATED_ITEMNoYesNoNo
ICL_RMS_ITEM_HTSYesNoYesYes
ICL_RMS_ITEM_EXPYesNoYesYes
Get Item Details for Provided Item

Endpoints

MerchIntegrations/services/foundation/item
MerchIntegrations/services/foundation/item/{itemId}
Functional Area

Items - Item Definition

Business Overview

This service publishes item master data for transaction-level items and higher merchandise hierarchy nodes to downstream consuming systems. The payload combines core item attributes with translations, supplier and sourcing details, UDA values, images, tickets, related items, compliance and import data, and custom flex attributes. End-to-end publication is limited to items that qualify through the refresh and delta flow: refresh seeds items in approved or deleted status, item-master inserts are not queued until the item is approved, and item-master updates in worksheet or submitted status are suppressed. Below-transaction-level reference or UPC items are not published as standalone records; their changes refresh the parent item’s referenceItem node.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: ITEM_MASTER, ITEM_MASTER_TL, ITEM_SUPPLIER, ITEM_SUPP_UOM, ITEM_SUPP_COUNTRY, ITEM_SUPP_COUNTRY_DIM, ITEM_SUPP_MANU_COUNTRY, ITEM_TICKET, UDA_ITEM_DATE, UDA_ITEM_LOV, UDA_ITEM_FF, ITEM_IMAGE, ITEM_SEASONS, ITEM_HTS, ITEM_EXP_HEAD, ITEM_EXP_DETAIL, RELATED_ITEM_HEAD, RELATED_ITEM_DETAIL, REQ_DOC, ITEM_IMPORT_ATTR

Additional business tables: ITEM_MASTER_CFA_EXT, ITEM_SUPPLIER_CFA_EXT, ITEM_SUPP_COUNTRY_CFA_EXT, DEPS, GROUPS, DIVISION, CLASS, SUBCLASS,

BRAND, DIFF_IDS, DIFF_GROUP_HEAD, SYSTEM_OPTIONS, SYSTEM_CONFIG_OPTIONS, CODE_DETAIL

JSON cache table: MERCHAPI_EXT_ITEM

JSON generation view: V_MERCHAPI_EXT_ITEM_JSON

Is keyed by ITEM_MASTER rows with ITEM_LEVEL TRAN_LEVEL, so the published entity is the transaction-level item or a higher hierarchy node.

The payload combines core item attributes with translations, supplier and sourcing data, UDAs, images, tickets, related items, HTS and expense data, import attributes, custom flex attributes, and supporting hierarchy and lookup values.

Below-transaction-level reference or UPC items are not published as standalone payloads; their data is rolled into the parent item’s referenceItem node.

Initial Seeding and post enablement rebuild/repair

Initial seeding selects ITEM_MASTER rows where STATUS IN (‘A’, ‘D’) and ITEM_LEVEL TRAN_LEVEL, then builds the published JSON through V_MERCHAPI_EXT_ITEM_JSON.

Rebuild marks cache rows deleted when the item no longer exists in ITEM_MASTER.

ICL (Integration Change Log) table: ICL_RMS_ITEM_MASTER, ICL_RMS_ITEM_SUPPLIER, ICL_RMS_ITEM_SUPP_UOM, ICL_RMS_ITEM_SUPP_CTRY, ICL_RMS_ITEM_SUPP_CTRY_DIM, ICL_RMS_ITEM_SUPP_MANU_CTRY, ICL_RMS_ITEM_TICKET, ICL_RMS_UDA_ITEM_DATE, ICL_RMS_UDA_ITEM_LOV, ICL_RMS_UDA_ITEM_FF, ICL_RMS_ITEM_IMAGE, ICL_RMS_ITEM_SEASONS, ICL_RMS_ITEM_HTS, ICL_RMS_ITEM_EXP, ICL_RMS_RELATED_ITEM, ICL_RMS_REQ_DOC, ICL_RMS_ITEM_IMPORT_ATTR (ICL consumer name = MERCHAPI)

Item-master inserts are staged only when the new item is approved, approval transitions are staged as insert-style publishes, and item-master updates in worksheet or submitted status are suppressed.

ITEM_MASTER_TL changes are queued only for items with ITEM_LEVEL TRAN_LEVEL, and below-transaction-level item changes are rolled up to ITEM_PARENT so the parent payload is refreshed.

Item Approval Handling

Approval of an item also results in publish of foundation/omnichannel/item/image, foundation/ omnichannel/item/relateditem, foundation/item/location, foundation/item/vat, and foundation/ taxLocationItem. The item approval flow writes the existing ITEM_IMAGE, RELATED_ITEM_HEAD/DETAIL, ITEM_LOC, and VAT_ITEM source rows for that item into those APIs’ ICL tables so dependent approved-item data is queued together with the item.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_ITEM

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_ITEM_ADHOC_PROCESS - > MERCHAPI_EXT_ITEM_ADHOC_JOB

Webhook configuration api name: foundation/item

Special handling

Additional GET query parameters: itemLevel, tranLevel, deptId, classId, subclassId, status, itemType, inventoryInd, supplier, referenceItem.

The filters itemLevel, tranLevel, deptId, classId, subclassId, status, and itemType are not backed by dedicated cache-table indexes. At high volume, use them only as additional criteria on top of a small-window delta fetch and not for full downloads.

Performance Considerations

For customers expecting high to very high publish volume from this API, sizing and operational tuning should be addressed early in the implementation lifecycle. Initial cache seeding, ongoing delta processing, full extracts, and incremental downloads or webhook-driven delivery have different runtime characteristics and should be evaluated separately. The available configuration for this service should therefore be reviewed and validated against the customer production data profile, including expected volume, message size, and access pattern, with the key performance-related configuration for this service covering the following:

Multi-threading and commit control

This service supports multi-threaded execution for initial seeding, while delta processing remains a single threaded process. Initial-seeding thread count is controlled through API_REFRESH_OVERRIDE_NO_OF_THREADS, and initial-seeding commit sizing is controlled through API_REFRESH_OVERRIDE_COMMIT_MAX_COUNTER.

For initial seeding, thread and commit settings should be chosen together based on expected row volume, average message size, and the complex SQL query required to build the item message from ITEM_MASTER together with supplier, UDA, image, ticket, related-item, HTS, expense, import, and hierarchy data. Common starting points for large-volume seeding are 8, 16, or 32 threads. Values of 48 or 64 threads should be considered only after testing and with awareness of competing workload in the environment. The delivered refresh override is currently 4 threads.

Refresh commit sizing should be reviewed together with the thread setting. The delivered refresh override commit setting is currently 10000 and that should be used if the thread value is low. If running with higher thread value, the typical value can range from about 100 to 1,000 rows.

Dropping indexes and constraints during seeding

This option applies only to initial seeding, including truncate-and-load execution. Even with refresh-override threading, larger parallel insert volumes can increase index maintenance overhead and slow the load.

To reduce that overhead, DROP_INDEX_ON_REFRESH can be enabled so indexes and constraints are dropped before seeding and rebuilt after the load completes.

This can improve data-load throughput, but the overall refresh plan should also account for the additional time needed for index rebuild after the seeding step finishes. GATHER_STATS_ON_REFRESH should normally remain enabled unless testing shows a need to change it.

REST fetch considerations

Item payloads can be comparatively large, so REST page size should be selected based on average message size so that the average response remains below about 10 MB per call. Common page-limit values for this service should be 500 or 1,000, and very small limits, especially below 100, should generally be avoided.

For full downloads, do not provide the since query parameter so the database can favor the primary-key access path. For delta downloads, use a small time window, typically a few minutes and at most a few hours, so the eligible row set on the LAST_UPDATE_DATETIME index remains small.

Wider delta windows, especially multi-day windows that can arise during outages or data recovery, generally do not perform well. For such scenarios, keeping BUILD_HISTOGRAM enabled allows the service to support recovery through smaller, more selective polling windows using the optimalBefore query parameter.

In this catch-up pattern, for requests up to 30 days in the past, the client provides optimalBefore and leaves before empty. The client then uses the returned before timestamp to continue polling incrementally until the backlog is cleared, and then resumes the normal shortwindow delta pattern. Hourly histogram processing groups LAST_UPDATE_DATETIME values into buckets of 10,000 rows in MERCHAPI_TIMESTAMP_HISTOGRAM using the shared HISTOGRAM_ROW_COUNT configuration.

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/item

MerchIntegrations/services/foundation/item/{itemId}

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
itemLevelNoStringItem Level - 1, 2, or 3
tranLevelNoStringTransaction Level- 1, 2,
or 3
deptIdNoString (4)Department Id
classIdNoString (4)Class Id
subclassIdNoString (4)Sub Class Id
statusNoStringStatus
itemTypeNoStringItem Type
inventoryIndNoStringInventoried
supplierNoStringSupplier
referenceItemNoStringReference Item
offsetkeyNoStringOffset key (Item)
limitNoString (6)Pagination limit.
Default value is 1000.
Parameter NameRequiredData TypeDescription
optimalBeforeNoStringEnables histogram-
based calculation of
the before timestamp
when before is not
provided. Valid values
are Y or N. Default
value is N.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-430 Input Parameter for “MerchIntegrations/services/foundation/item/{itemId}“

Parameter NameRequiredData TypeDescription
itemIdYesStringItem Id
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-431 PageResultsItemsMerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request

Table 5-431 (Cont.) PageResultsItemsMerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-432 MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for Item details
longtDescriptionNoString
itemNoString (25)This feld specifes
Unique alphanumeric
value that identifes
the item.
itemNumberTypeNoString (6)This feld holds the
type of item number.
Valid values are
defned by code type
UPCT.
statusNoString (1)This feld specifes
status of the item.
itemLevelNoNumber(1,0)This feld specifes
Number indicating
which of the three
levels the item resides.
The item level
determines if the item
stands alone or if it is
part of a family of
related items. The item
level also determines
how the item may be
used throughout the
system.

Table 5-432 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
tranLevelNoNumber(1,0)This feld specifes
Number indicating
which of the three
levels transactions
occur for the item’s
group. The transaction
level is the level at
which the item’s
inventory is tracked in
the system. The
transaction level item
will be counted,
transferred, shipped,
etc. The transaction
level may be at the
current item or up to 2
levels above or below
the current item. Only
one level of the
hierarchy of an item
family may contain
transaction level
items.
itemDescriptionNoString (250)This feld specifes
long description of the
item. This description
is used through out the
system to help online
users identify the item.
For items that have
parents, this
description will
default to the parents
description plus any
differentiators. For
items without parents
this description will
default to null.
shortDescriptionNoString (120)This feld specifes
shortened description
of the item. This
description is the
default for
downloading to the
POS. For items that
have parents, this
description will
default to the parent’s
short description. For
items without parents,
this description will
default to null.

Table 5-432 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemDescriptionUpper
case
NoString (250)This feld specifes all
upper case description
of the item (same as
upper(item_desc)).
This feld is not
displayed in the on-
line item maintenance
dialog, but is used in
item list of value
search processing
through out the
system.
itemDescriptionSecon
dary
NoString (250)This feld specifes
secondary descriptions
of the item. This feld
can only be populated
when
system_options.second
ary_desc_ind = Y.
longDescriptionNoString (2000)This feld specifes
long description of the
item. This is a more
descriptive writeup
about the item
targeted largely for
platforms like
Ecommerce platforms,
Marketplaces, Order
Management Systems
etc.
itemParentNoString (25)This feld specifes
alphanumeric value
that uniquely
identifes the item/
group at the level
above the item.
itemGrandparentNoString (25)This feld specifes
alphanumeric value
that uniquely
identifes the item/
group at the level
above the item.

Table 5-432 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
sellableIndNoString (1)This feld indicates if
pack item may be sold
as a unit. If it is ‘Y’ then
the pack will have its
own unique unit retail.
If it is ‘N’ then the
pack’s unit retail is the
sum of each individual
item’s total retail
within the pack. This
feld will only be
available if the item is
a pack item. Value
values are: Y = Yes, this
pack may be sold as a
unit; N = No, this pack
man not be sold as a
unit.
orderableIndNoString (1)This feld indicates if
pack item is orderable.
If it is ‘Y’ then the
suppliers of the pack
must supply all
components in the
pack. If it is ‘N’ then
the components may
have different
suppliers. This feld
will only be available
if the item is a pack
item. Valid values are:
Y = Yes, this pack may
be ordered, N = No,
this pack may not be
ordered.
inventoryIndNoString (1)This feld specifes
inventory Indicator.
packIndNoString (1)This feld indicates if
the item is a pack. A
pack item is a
collection of items that
may be either ordered
or sold as a unit. Packs
require details (i.e.
component items and
qtys, etc.) that other
items do not. This feld
is required by the
database.

Table 5-432 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
simplePackIndNoString (1)This feld indicates if
pack item is a simple
pack or not. This feld
will only be available
if the item is a pack
item. A simple pack is
an item whose
components are all the
same item (i.e. a six
pack of cola, etc). Valid
values are:Y = Yes, this
item is a simple pack;
N = No if this is not a
simple pack.
containsInnerIndNoString (1)This feld indicates if
pack item contains
inner packs. Vendor
packs will never
contain inner packs
and this feld will be
defaulted to ‘N’. This
feld will only be
available if the item is
a pack item. Valid
values are Y = Yes, this
pack contains inner
packs; N = No, this
pack does not contain
inner packs.
deptNoNumber(4,0)This feld specifes
number identifying
the department to
which the item is
attached. The item’s
department will be the
same as that of its
parent (and, by
transitivity, to that of
its grandparent). Valid
values for this feld are
located on the deps
table.
deptNameNoString (120)This feld contains the
name of the
department.
classNoNumber
classNameNoString (120)This feld contains the
name of the class.

Table 5-432 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
uniqueClassIdNoNumber(10,0)This feld uniquely
identify the class
which the item
belongs to.Class is not
unique ID the
merchandise
hierarchy.The
combination of Dept/
Class is unique, but
requires use of a
composite key.The
composite key is
generally used in user
interfaces.The unique
ID can be used in back
end processing or in
systems that can not
have a composite key
in the merchandise
hierarchy.
subclassNoNumber(4,0)This feld specifes
number identifying
the subclass to which
the item is attached.
The item’s subclass
will be the same as
that of its parent (and,
by transitivity, to that
of its grandparent).
Valid values for this
feld are located on the
subclass table.
subclassNameNoString (120)This feld contains the
name of the subclass.
uniqueSubclassIdNoNumber(10,0)This feld uniquely
identify the subclass
which the item
belongs to.Sublass is
not unique ID the
merchandise
hierarchy.The
combination of Dept/
Class/Subclass is
unique, but requires
use of a composite
key.The composite key
is generally used in
user interfaces.The
unique ID can be used
in back end processing
or in systems that can
not have a composite
key in the
merchandise
hierarchy.

Table 5-432 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
unitRetailNoNumber(20,4)This feld holds the
unit retail in the
standard unit of
measure for the item/
zone combination.
This feld is stored in
the local currency.
variableUpcFormatIdNoString (1)This feld will hold the
format ID that
corresponds to the
item’s variable UPC.
This value is only used
for items with variable
UPCs.
variableWeightUpcPref
ix
NoNumber(2,0)This feld holds the
prefx for variable
weight UPCs. The
prefx determines the
format of the eventual
UPC and will be used
to decode variable
weight UPCs that are
uploaded from the
POS. It is the clients
responsibility to
download this value to
their POS system.
diff1NoString (10)This feld contains
diff_group or diff_id
that differentiates the
current item from its
item_parent. For an
item that is a parent,
this feld may be either
a group (i.e. Men’s
pant sizes) or a value
(6 oz). For an item that
is not a parent, this
feld may contain a
value (34X34, Red,
etc.). Valid values are
found on the
diff_group and diff_id
tables.

Table 5-432 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diff1TypeNoString (6)This feld will hold a
value of all possible
differential types. (for
example, ‘S’ - size, ‘C’ -
color, ‘F’ - favor, ‘E’ -
scent, ‘P’ - pattern).
Valid values are stored
on the code_detail
table with the
code_type ‘DIFF’ and
on the diff_type table.
diff2NoString (10)This feld contains
diff_group or diff_id
that differentiates the
current item from its
item_parent. For an
item that is a parent,
this feld may be either
a group (i.e. Men’s
pant sizes) or a value
(6 oz). For an item that
is not a parent, this
feld may contain a
value (34X34, Red,
etc.). Valid values are
found on the
diff_group and diff_id
tables.
diff2TypeNoString (6)This feld will hold a
value of all possible
differential types. (for
example, ‘S’ - size, ‘C’ -
color, ‘F’ - favor, ‘E’ -
scent, ‘P’ - pattern).
Valid values are stored
on the code_detail
table with the
code_type ‘DIFF’ and
on the diff_type table.

Table 5-432 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diff3NoString (10)This feld contains
diff_group or diff_id
that differentiates the
current item from its
item_parent. For an
item that is a parent,
this feld may be either
a group (i.e. Men’s
pant sizes) or a value
(6 oz). For an item that
is not a parent, this
feld may contain a
value (34X34, Red,
etc.). Valid values are
found on the
diff_group and diff_id
tables.
diff3TypeNoString (6)This feld will hold a
value of all possible
differential types. (for
example, ‘S’ - size, ‘C’ -
color, ‘F’ - favor, ‘E’ -
scent, ‘P’ - pattern).
Valid values are stored
on the code_detail
table with the
code_type ‘DIFF’ and
on the diff_type table.
diff4NoString (10)This feld contains
diff_group or diff_id
that differentiates the
current item from its
item_parent. For an
item that is a parent,
this feld may be either
a group (i.e. Men’s
pant sizes) or a value
(6 oz). For an item that
is not a parent, this
feld may contain a
value (34X34, Red,
etc.). Valid values are
found on the
diff_group and diff_id
tables.

Table 5-432 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diff4TypeNoString (6)This feld will hold a
value of all possible
differential types. (for
example, ‘S’ - size, ‘C’ -
color, ‘F’ - favor, ‘E’ -
scent, ‘P’ - pattern).
Valid values are stored
on the code_detail
table with the
code_type ‘DIFF’ and
on the diff_type table.
costZoneGroupIdNoNumber(4,0)This feld contains cost
zone group associated
with the item. This
feld is only required
when elc_ind (landed
cost indicator) is set to
’Y’ on the
system_options table.
standardUomNoString (4)This feld contains unit
of measure in which
stock of the item is
tracked at a corporate
level.
uomConversionFactorNoNumber(20,10)This feld contains
Conversion factor
between an ‘Each’ and
the standard_uom
when the
standard_uom is not in
the quantity class (e.g.
if standard_uom = lb
and 1 lb = 10 eaches,
this factor will be 10).
This factor will be
used to convert sales
and stock data when
an item is retailed in
eaches but does not
have eaches as its
standard unit of
measure.
packageSizeNoNumber(12,4)This feld holds the
size of the product
printed on any
packaging (i.e. 24
ounces). This feld is
used for reporting
purposes, as well as by
Retek Price
Mangement to
determine same sized
and different sized
items.

Table 5-432 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
packageUomNoString (4)This feld holds the
unit of measure
associated with the
package size. This feld
is used for reporting
purposes and by Retek
Price Management to
determine same sized
and different sized
items.
merchandiseIndNoString (1)This feld indicates if
the item is a
merchandise item (Y,
N).
storeOrderMultipleNoString (1)This feld indicates
Merchandise shipped
from the warehouses
to the stores must be
specifed in this unit
type. Valid values
are:C = Cases; I =
Inner; E = Eaches.
forecastIndNoString (1)This feld indicates if
this item will be
interfaced to an
external forecasting
system (Y, N).
manufacturerRecomm
endedRetail
NoNumber(20,4)This feld contains
manufacturer’s
recommended retail
price for the item.
Used for informational
purposes only. This
feld is stored in the
primary currency.
manufacturerRetailCu
rrencyCode
NoString (3)The feld indicates the
currency code of the
Manufacturer’s retail
price.
originalRetailNoNumber(20,4)The feld indicated the
original retail price of
the item per unit. This
feld is stored in the
primary currency.
originalRetailCurrency
Code
NoString (3)The feld indicates the
currency code of the
original retail price.
retailLabelTypeNoString (6)This feld indicates any
special label type
associated with an
item.

Table 5-432 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
retailLabelTypeDescri
ption
NoString (250)This feld holds the
description of the
retail label type.
retailLabelValueNoNumber(20,4)This feld represents
the value associated
with the retail label
type.
handlingTemperatureNoString (6)This feld holds the
temperature
information associated
with the item.
handlingTemperature
Description
NoString (250)This feld holds the
description of the
handling temperature.
handlingSensitivityNoString (6)This feld holds the
sensitivity information
associated with the
item.
handlingSensitivityDes
cription
NoString (250)This feld holds the
description of the
handling sensitivity.
catchWeightIndNoString (1)This feld indicates
whether the item
should be weighed
when it arrives at a
location.
catchWeightTypeNoString (1)The feld will hold
catch weight type for a
simple pack catch
weight item. The value
is based on the
component items
order_type and
sale_type: 2 -
order_type = Variable
Weight, sale_type =
Loose Weight 4 -
order_type = Variable
Weight, sale_type =
Variable Weight Each.
catchWeightUomNoString (4)The feld indicates the
UOM for Catchweight
Items.

Table 5-432 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderTypeNoString (6)The feld determines
how catch weight
items are ordered.
Valid values are: F -
fxed weight V -
Variable weight Valid
values are held on the
CODE_DETAIL table
with a code type =
ORDT.
saleTypeNoString (6)The feld indicates the
method of how catch
weight items are sold
in store locations.
Valid values are: V -
variable weight each L
- Loose weight. Valid
values are held on the
CODE_DETAIL table
with a code type =
STPE.
wasteTypeNoString (6)The feld indicates
identifes the wastage
type as either sales or
spoilage wastage. Sales
wastage occurs during
processes that make
an item saleable (i.e.
fat is trimmed off at
customer request).
Spoilage wastage
occurs during the
products shelf life (i.e.
evaporation causes the
product to weigh less
after a period of time).
Valid values are: SP -
spoilage; and SL -
Sales.
wasteTypeDescriptionNoString (250)The feld contains the
Waste Type
description
corresponding to the
Waste_Type value in
item_master.
averageWastePercenta
ge
NoNumber(12,4)The feld indicates
average percent of
wastage for the item
over its shelf life. Used
in infating the retail
price for wastage
items.

Table 5-432 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
defaultWastePercentag
e
NoNumber(12,4)The feld indicates
default daily wastage
percent for spoilage
type wastage items.
This value will default
to all item locations
and represents the
average amount of
wastage that occurs on
a daily basis.
constantDimensionIndNoString (1)The feld indicates that
the dimensions of the
product are always the
same, regardless of the
supplier. If this feld is
Y, the dimensions for
all suppliers will be
defaulted to the
primary supplier/
primary country
dimensions. Editing of
dimensions for the
item will only be
allowed for the
primary supplier/
primary country.
packTypeNoString (1)The feld Indicates if
pack item is a vendor
pack or a buyer pack.
A vendor pack is a
pack that the vendor
or supplier recognizes
and sells to the
retailer. If the pack
item is a vendor pack,
communication with
the supplier will use
the vendor pack
number. A buyer pack
is a pack that a buyer
created for internal
ease of use. If the pack
item is a buyer pack
communication with
the supplier will
explode the pack out
to its component
items. This feld will
only be used if the
item is a pack item. If
the pack item is not
orderable this feld
must be null. Valid
values are: V = Vendor;
B = Buyer.

Table 5-432 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderAsTypeNoString (1)This feld indicates if
pack item is receivable
at the component level
or at the pack level
(for a buyer pack
only). This feld is
required if pack item
is an orderable buyer
pack. This feld must
be NULL if the pack is
sellable only or a
vendor pack. This feld
will only be available
if the item is a pack
item. Valid Values are:
E = Eaches (component
level) P = Pack (buyer
pack only)..
commentsNoString (2000)The feld holds any
comments associated
with the item.
itemServiceLevelNoString (6)The feld Holds a value
that restricts the type
of shipment methods
that RCOM can select
for an item.
giftWrapIndNoString (1)This feld will contain
a value of ‘Y’ if the
item is eligible to be
gift wrapped.
shipAloneIndNoString (1)This feld will contain
a value of Y if the item
should be shipped to
the customer in a
separate package.
brandNameNoString (30)This feld contains the
brand associated to an
item.
brandDescriptionNoString (120)This feld contains the
description of the
brand associated with
the item.
perishableIndNoString (1)The feld is not used by
RMS.

Table 5-432 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemTransformIndNoString (1)The feld show that an
item is associated with
an item
transformation. The
item will be either the
sellable item or
orderable item in the
transformation
process.
depositItemTypeNoString (6)The feld contains
deposit item
component type. A
NULL value in this
feld indicates that this
item is not part of a
deposit item
relationship. The
possible values are - E
- Contents A -
Container Z - Crate T -
Returned Item (Empty
bottle) P - Complex
pack (with deposit
items) The Returned
item is fagged only to
enable these items to
be mapped to a
separate GL account if
required.
containerItemNoString (25)The feld holds the
container item
number for a contents
item. This feld is only
populated and
required if the
DEPOSIT_ITEM_TYPE =
E.
depositInPricePerUomNoString (6)This feld indicates if
the deposit amount is
included in the price
per UOM calculation
for a contents item
ticket. This value is
only required if the
DEPOSIT_ITEM_TYPE =
E. Valid values are I -
Include deposit
amount E - Exclude
deposit amount.
storePackInventoryIndNoString (1)This feld indicates
whether downstream
systems should track
pack inventory at the
pack level.

Table 5-432 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
sohInquiryAtPackIndNoString (1)The feld indicates to
the Store Inventory
System if a notional
simple pack item’s
inventory should be
displayed in packs.
purchaseTypeNoString (1)The feld indicates if
an item is a normal,
consignment or
concession item - ‘N’
for normal, ‘S’ for
consignment, ‘C’ for
concession.
productClassifcationNoString (6)The feld contains item
combinability codes
(with code type ‘PCLA’)
which provide a way
to defne which items
can be combined
(packed or boxed)
together.
productClassifcationD
escription
NoString (250)This feld will hold the
description of the
product classifcation.
itemAggregateIndNoString (1)This feld holds
indicator to aggregate
inventory and sales
for the item. Currently,
this indicator is used
by allocation and MFP
to aggregate inventory
for items. For staple
items this indictor
should be N.
diff1AggregateIndNoString (1)This feld holds
indicator for the
corresponding diff.
Indicator to aggregate
inventory and sales
for an item at Parent/
Diff level (e.g. Style/
Color or Style/Size .
diff2AggregateIndNoString (1)This feld holds
indicator for the
corresponding diff.
Indicator to aggregate
inventory and sales
for an item at Parent/
Diff level (e.g. Style/
Color or Style/Size.

Table 5-432 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diff3AggregateIndNoString (1)This feld holds
indicator for the
corresponding diff.
Indicator to aggregate
inventory and sales
for an item at Parent/
Diff level (e.g. Style/
Color or Style/Size.
diff4AggregateIndNoString (1)This feld holds
indicator for the
corresponding diff.
Indicator to aggregate
inventory and sales
for an item at Parent/
Diff level (e.g. Style/
Color or Style/Size.
diff1LevelNoString (6)This feld will contain
either ID or GROUP,
based on whether the
diff_1 is a group diff or
a diff id.
diff1DescriptionNoString (120)This feld will hold the
description of
differentiator.
diff2LevelNoString (6)This feld will contain
either ID or GROUP,
based on whether the
diff_1 is a group diff or
a diff id.
diff2DescriptionNoString (120)This feld will hold the
description of
differentiator.
diff3LevelNoString (6)This feld will contain
either ID or GROUP,
based on whether the
diff_1 is a group diff or
a diff id.
diff3DescriptionNoString (120)This feld will hold the
description of
differentiator.
diff4LevelNoString (6)This feld will contain
either ID or GROUP,
based on whether the
diff_1 is a group diff or
a diff id.
diff4DescriptionNoString (120)This feld will hold the
description of
differentiator.

Table 5-432 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
primaryImageUrlNoString (375)This feld will hold the
primary item image
URL. It is only
included for the
ItemCre and
ItemFulRep message
types. Updates to the
primary image for an
item are published in
the Item Image node.
transferAllocUpCharge
SourceType
NoString (6)This feld impacts how
up charges default to
transfers and
allocations when an
item is added. When
set to ‘D’, department-
level up charges are
applied if item-level
up charges are not
defned for the item/
from-location/to-
location combination.
When set to ‘I’, only
item-level up charges
are applied;
department-level up
charges are not
inherited.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.
customFlexAttributeNoCollection of ObjectThis List holds custom
fex attributes for the
item.
itemTranslationNoCollection of ObjectThis List holds
translation attributes
for the item.
itemSupplierNoCollection of ObjectThis List holds
supplier’s attributes
for the item.
itemUdaNoObjectThis record holds uda
attributes for the item.
itemImageNoCollection of ObjectThis List holds image
attributes for the item.
itemSeasonNoCollection of ObjectThis List holds season
attributes for the item.
referenceItemNoCollection of ObjectThis List holds
referenc item’s
attributes for the item.

Table 5-432 (Cont.) MerchApiExtItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemBOMNoCollection of ObjectThis List holds pack
attributes for the item.
itemTicketNoCollection of ObjectThis List holds ticket
attributes for the item.
relatedItemNoCollection of ObjectThis List holds related
item’s attributes for
the item.
htsNoCollection of ObjectThis List holds hts
attributes for the item.
expenseNoCollection of ObjectThis List holds
expense attributes for
the item.
requiredDocumentsNoCollection of ObjectThis List holds the
required documents of
the item.
itemImportAttributesNoCollection of ObjectThis List holds the
import specifc
attributes associated
with a given item.
cacheTimestampNodateTimeThis feld specifes
date and time when
item record was last
maintained.
cacheCreateTimestam
p
NodateTimeThis feld specifes
date and time when
the record was frst
created for web
serivce publication.

Table 5-433 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).

Table 5-433 (Cont.) CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-434 ItemTranslation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageCodeNoNumber(6,0)This feld contains the
language in which the
translated text is
maintained
languageNameNoString (120)This feld contains
description of
language code in
which the translated
text is maintained
isoCodeNoString (6)This feld will hold the
ISO code associated
with the given
language.
itemDescriptionNoString (250)This feld will hold the
ISO code associated
with the given
language.
itemDescriptionSecon
dary
NoString (250)This feld holds long
description of the
item. This description
is used through out the
system to help online
users identify the item.
For items that have
parents,this
description will
default to the parents
description plus any
differentiators. For
items without parents,
this description will
default to null

Table 5-434 (Cont.) ItemTranslation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
shortDescriptionNoString (120)This feld holds
shortened description
of the item. This
description is the
default for
downloading to the
POS. For items that
have parents, this
description will
default to the parents
short description. For
items without parents,
this description will
default to null
longDescriptionNoString (2000)This feld specifes
long description of the
item. This is a more
descriptive writeup
about the item
targeted largely for
platforms like
Ecommerce platforms,
Marketplaces, Order
Management Systems
etc.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.

Table 5-435 ItemSupplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierNoNumber(10,0)This feld specifes
unique identifer for
the supplier.
primarySupplierIndNoString (1)This feld indicates
whether this supplier
is the primary supplier
for the item. An item
can have one and only
one primary supplier.
vpnNoString (30)This feld contains the
Vendor Product
Number for the Item/
Supplier.
supplierLabelNoString (15)This feld contains the
supplier label. It will
only be populated if
item is a parent item.

Table 5-435 (Cont.) ItemSupplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
consignmentRateNoNumber(12,4)This feld contains the
consignment rate for
this item for the
supplier.
supplierDiff1NoString (120)This feld contains the
frst supplier
differentiator and/or
description. This feld
may only contain a
value for items with
an item_parent.
supplierDiff2NoString (120)This feld contains the
frst supplier
differentiator and/or
description. This feld
may only contain a
value for items with
an item_parent.
supplierDiff3NoString (120)This feld contains the
frst supplier
differentiator and/or
description. This feld
may only contain a
value for items with
an item_parent.
supplierDiff4NoString (120)This feld contains the
frst supplier
differentiator and/or
description. This feld
may only contain a
value for items with
an item_parent.
palletNameNoString (6)This feld specifes
code referencing the
name used to refer to
the pallet.
caseNameNoString (6)This feld specifes
code referencing the
name used to refer to
the case.
innerNameNoString (6)This feld specifes
code referencing the
name used to refer to
the inner.
supplierDiscontinueDa
te
NodateThis feld specifes the
date when the supplier
discontinues an item.

Table 5-435 (Cont.) ItemSupplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
directShipIndNoString (1)This feld indicates
that any item
associated with this
supplier is eligible for
a direct shipment from
the supplier to the
customer.
primaryCaseSizeNoString (6)This feld indicates the
primary case size for
the item supplier
when an orderable
item is confgured for
informal case types.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.
customFlexAttributeNoCollection of ObjectThis List holds custom
fex attributes for the
item’s supplier record.
itemSupplierCountryNoCollection of ObjectThis List holds custom
fex attributes for the
item supplier’s
country record.
itemSupplierCountryO
fManufacture
NoCollection of ObjectThis List holds custom
fex attributes for the
item supplier’s
manufacture record.
itemSupplierUomNoCollection of ObjectThis List holds custom
fex attributes for the
item’s supplier UOM
record.
translationNoCollection of ObjectList of translations for
Item Supplier

Table 5-436 ItemSupplierCountry - Object. See list of elements for detail

Element NameRequiredData TypeDescription
originCountryNoString (3)This feld specifes
country where the
item was
manufactured or
signifcantly altered.
primarySupplierIndNoString (1)This feld indicates
whether this supplier
is the primary supplier
for the item. Each item
can have one and only
one primary supplier.

Table 5-436 (Cont.) ItemSupplierCountry - Object. See list of elements for detail

Element NameRequiredData TypeDescription
primaryCountryIndNoString (1)This feld indicates
whether this country
is the primary country
for the item/supplier.
Each item/supplier
combination can have
one and only one
primary country.
unitCostNoNumber(20,4)This feld contains the
current corporate unit
cost for the item from
the supplier /origin
country. This feld is
stored in the Supplier’s
currency..
leadTimeNoNumber(4,0)This feld contains the
number of days that
will elapse between
the date an order is
written and the
delivery to the store or
warehouse from the
supplier.
pickupLeadTimeNoNumber(4,0)This feld Contains the
time that will be taken
to get the item from
the supplier to the
initial receiving
location.
supplierPackSizeNoNumber(12,4)This feld contains the
quantity that orders
must be placed in
multiples of for the
supplier for the item.
innerPackSizeNoNumber(12,4)This feld contains the
break pack size for
this item from the
supplier.
roundLevelNoString (6)This feld is used to
determine how order
quantities will be
rounded to case, layer
and pallet.
minimumOrderQuanti
ty
NoNumber(12,4)This feld contains the
minimum quantity
that can be ordered at
once from the supplier
for the item.

Table 5-436 (Cont.) ItemSupplierCountry - Object. See list of elements for detail

Element NameRequiredData TypeDescription
maximumOrderQuant
ity
NoNumber(12,4)This feld contains the
maximum quantity
that can be ordered at
once from the supplier
for the item.
packingMethodNoString (6)This feld indicates
whether the packing
method for the item in
the container is fat or
hanging.
defaultUopNoString (6)This feld contains the
default unit of
purchase for the item/
supplier/country. Valid
values include ‘C’
(Case) and ‘P’ (Pallet)
tiNoNumber(12,4)This feld contains
number of shipping
units (cases) that make
up one tier of the
pallet. Multiply TI x HI
to get total number of
units (cases) in a
Pallet.
hiNoNumber(12,4)This feld contains
number of tiers that
make up a complete
pallet. Multiply TI x HI
to get total number of
units (cases) in a
Pallet.
costUomNoString (4)This feld contains cost
UOM is held to allow
costs to be managed in
a separate UOM to the
standard UOM.
toleranceTypeNoString (6)The unit of tolerance
for catch weight
simple packs. Valid
values are: ‘A’ - actual
’P’ - percent.
maximumToleranceNoNumber(12,4)The maximum
tolerance value for the
catch weight simple
pack.
minimumToleranceNoNumber(12,4)The minimum
tolerance value for the
catch weight simple
pack.

Table 5-436 (Cont.) ItemSupplierCountry - Object. See list of elements for detail

Element NameRequiredData TypeDescription
roundToInnerPercenta
ge
NoNumber(12,4)This feld will hold the
Inner Rounding
Threshold value.
During rounding, this
value is used to
determine whether to
round partial Inner
quantities up or down.
If the Inner-fraction in
question is less than
the Threshold
proportion, it is
rounded down; if not,
it is rounded up.
roundToCasePercentag
e
NoNumber(12,4)This feld will hold the
Case Rounding
Threshold value.
During rounding, this
value is used to
determine whether to
round partial Case
quantities up or down.
If the Case-fraction in
question is less than
the Threshold
proportion, it is
rounded down; if not,
it is rounded up.
roundToLayerPercent
age
NoNumber(12,4)This feld will hold the
Layer Rounding
Threshold value.
During rounding, this
value is used to
determine whether to
round partial Layer
quantities up or down.
If the Layer-fraction in
question is less than
the Threshold
proportion, it is
rounded down; if not,
it is rounded up.

Table 5-436 (Cont.) ItemSupplierCountry - Object. See list of elements for detail

Element NameRequiredData TypeDescription
roundToPalletPercenta
ge
NoNumber(12,4)This feld will hold the
Pallet Rounding
Threshold value.
During rounding, this
value is used to
determine whether to
round partial Pallet
quantities up or down.
If the Pallet -fraction in
question is less than
the Threshold
proportion, it is
rounded down; if not,
it is rounded up.
supplierHierarchyTyp
e1
NoString (6)This feld identifes
partner type of
supplier hierarchy
level 1. This feld will
always have the
partner type S1 which
indicates
manufacturer.
supplierHierarchyLev
el1
NoString (10)This feld contains
highest level of
supplier hierarchy
which is there to
indicate a partner,
such as a
manufacturer, in the
supply chain that gives
rebates to the retailer.
supplierHierarchyTyp
e2
NoString (6)This feld identifes
partner type of
supplier hierarchy
level 2. This feld will
always have the
partner type S2 which
indicates distributor.
supplierHierarchyLev
el2
NoString (10)This feld conatins
second highest level of
supplier hierarchy
which is there to
indicate a partner,
such as a distributor,
in the supply chain
that gives rebates to
the retailer..
supplierHierarchyTyp
e3
NoString (6)This feld identifes
partner type of
supplier hierarchy
level 3. This feld will
always have the
partner type S3 which
indicates wholesaler.

Table 5-436 (Cont.) ItemSupplierCountry - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierHierarchyLev
el3
NoString (10)Third highest level of
supplier hierarchy
which is there to
indicate a partner,
such as a wholesaler,
in the supply chain
that gives rebates to
the retailer.
negotiatedItemCostNoNumber(20,4)This feld will hold the
supplier negotiated
item cost for the
primary delivery
country of the item.
Once a location is
associated with the
item, the primary
locations negotiated
item cost will be stored
in this feld.
extendedBaseCostNoNumber(20,4)This feld will hold the
extended base cost for
the primary delivery
country of the item.
Once a location is
associated with the
item, the primary
locations extended
base cost will be
stored in this feld.
Extended base cost is
the cost inclusive of all
the taxes that affect
the WAC. In case of
GTAX, Extended Base
Cost = Base Cost + Non-
recoverable taxes. In
case of VAT, Extended
Base Cost = Base Cost.

Table 5-436 (Cont.) ItemSupplierCountry - Object. See list of elements for detail

Element NameRequiredData TypeDescription
inclusiveCostNoNumber(20,4)This feld will hold the
inclusive cost for the
primary delivery
country of the item.
Once a location is
associated with the
item, the primary
locations inclusive cost
will be stored in this
feld. This cost will
have both the
recoverable and non-
recoverable taxes
included. In case of
GTAX, Inclusive Cost =
Base Cost + Non-
recoverable taxes +
Recoverable Taxes. In
case of VAT, Inclusive
Cost = Base Cost + VAT.
baseCostNoNumber(20,4)This feld will hold the
tax exclusive cost of
the item.
purchaseTypeNoNumber(1,0)This feld contains a
code to indicate
whether the item is
normal merchandise
(i.e. owned by the
retailer), consignment
stock or a concession
item. Valid values are
0 - Owned, 1 -
Consignment, 2 -
Concession.
calculationBasisNoString (1)This feld indicates if
the cost for the
consignment/
concession item will
be managed either
based on cost per unit
or as a percentage of
retail. Valid values are
C - Cost per Unit, P -
Purchase Rate.
purchaseRateNoNumber(12,4)This feld contains the
percentage of the
retail price which will
determine the cost
paid to the supplier for
a consignment or
concession item.

Table 5-436 (Cont.) ItemSupplierCountry - Object. See list of elements for detail

Element NameRequiredData TypeDescription
pricingControlNoString (1)This feld contains the
pricing control of the
item which will
determine the item
price is controlled by
Retailer or Supplier.
Valid value are R -
Managed by Retailer, S
- Managed by Supplier,
NULL - For Owned
Items
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.
customFlexAttributeNoCollection of ObjectThis List holds custom
fex attributes for the
item supplier’s
country record.
itemSupplierCountryD
imension
NoCollection of ObjectThis List holds
dimension attributes
for the item supplier’s
country record.

Table 5-437 ItemSupplierCountryDimension - Object. See list of elements for detail

Element NameRequiredData TypeDescription
dimensionObjectNoString (6)This feld Specifc
object whose
dimensions are
specifed in this record
(e.g. case, pallet, each).
Valid values for this
feld are in the code
type DIMO on the
codes tables.
dimensionObjectDescr
iption
NoString (250)This feld conatins
description of the
dimesnion object.
presentationMethodNoString (6)This feld describes the
packaging (if any)
being taken into
consideration in the
specifed dimensions.
Valid values for this
feld are in the code
type PCKT on the
codes tables.

Table 5-437 (Cont.) ItemSupplierCountryDimension - Object. See list of elements for detail

Element NameRequiredData TypeDescription
presentationMethodDe
scription
NoString (250)This feld conatins
description of the
presentation method.
lengthNoNumber(12,4)This feld conatins
length of dim_object
measured in units
specifed in terms of
the LWH Unit of
Measure.
widthNoNumber(12,4)This feld conatins
width of dim_object
measured in units
specifed in terms of
the LWH Unit of
Measure.
heightNoNumber(12,4)This feld conatins
height of dim_object
measured in units
specifed in terms of
the LWH Unit of
Measure.
lwhUomNoString (4)This feld conatins
measurement for
length, width, and
height.
weightNoNumber(12,4)This feld conatins
weight of dim_object
measured in units
specifed in terms of
the Weight Unit of
Measure.
netWeightNoNumber(12,4)This feld conatins net
weight of the
dim_object (weight
without packaging)
measured in units
specifed in terms of
the Weight Unit of
Measure.
weightUomNoString (4)This feld conatins unit
of measurement for
Weight and Net
Weight.
liquidVolumeNoNumber(12,4)This feld conatins unit
of measurement for
vloume.

Table 5-437 (Cont.) ItemSupplierCountryDimension - Object. See list of elements for detail

Element NameRequiredData TypeDescription
liquidVolumeUomNoString (4)This feld conatins unit
of measurement for
liquid volume. Liquid
volumes are only
convertible to other
liquid volumes.
statisticalCaseNoNumber(12,4)This feld conatins
statistical value of the
dim_object’s
dimensions to be used
for loading purposes.
tareWeightNoNumber(12,4)This feld conatins
amount of weight to
be subtracted for
packaging materials.
Used to calculate the
true net weight of the
dim_object.
tareTypeNoString (6)This feld indicates
whether the tare
weight for the
dim_object is wet or
dry.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.

Table 5-438 ItemSupplierCountryOfManufacture - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryIdNoString (3)This feld holds
country ID of
manufacturer.
primaryIndNoString (1)This feld indicates
primary country of
manufacturer
indicator.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.

Table 5-439 ItemSupplierUom - Object. See list of elements for detail

Element NameRequiredData TypeDescription
uomNoString (4)This feld holds unit of
measure that the item
is being measured in.
valueNoNumber(20,4)This feld holds value
of measure.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.

Table 5-440 ItemSupplierTranslation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageCodeNoNumber(6,0)The code identifying
the language.
languageNameNoString (120)The display name of
the language.
isoCodeNoString (6)The ISO code of the
language.
supplierDiff1NoString (120)This feld contains the
frst supplier
differentiator and/or
description.
supplierDiff2NoString (120)This feld contains the
second supplier
differentiator and/or
description.
supplierDiff3NoString (120)This feld contains the
third supplier
differentiator and/or
description.
supplierDiff4NoString (120)This feld contains the
fourth supplier
differentiator and/or
description.
supplierLabelNoString (15)The translated
supplier label for the
item.
createDateTimeNodateTimeThe creation date/time
of the translation
record.
updateDateTimeNodateTimeThe last update date/
time of the translation
record.

Table 5-441 ItemUda - Object. See list of elements for detail

Element NameRequiredData TypeDescription
udaLovNoCollection of ObjectThis List attributes for
the item’s uda list of
values.
udaFreeformNoCollection of ObjectThis List holds
attributes for the
item’s uda free form .
udaDateNoCollection of ObjectThis List holds
attributes for the
item’s uda date.

Table 5-442 UdaLov - Object. See list of elements for detail

Element NameRequiredData TypeDescription
udaIdNoNumber(5,0)This feld contains a
number identifying
the user-defned
attribute.
udaDescriptionNoString (120)This feld contains
description of user-
defned attribute.
udaValueNoNumber(5,0)This feld contains the
unique identifed of
the Attribute Group
being added or delete
to the item list.
udaValueDescriptionNoString (250)This feld contains the
value of the Attribute
Group.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.

Table 5-443 UdaFreeForm - Object. See list of elements for detail

Element NameRequiredData TypeDescription
udaIdNoNumber(5,0)This feld contains a
number identifying
the user-defned
attribute.
udaDescriptionNoString (120)This feld contains
description of user-
defned attribute.
udaTextNoString (250)This feld contains the
text value of the user-
defned attribute for
the item.

Table 5-443 (Cont.) UdaFreeForm - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.
translationNoCollection of ObjectList of translations for
UDA free form text.

Table 5-444 UdaFreeFormTranslation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageCodeNoNumber(6,0)The code identifying
the language.
languageNameNoString (120)The display name of
the language.
isoCodeNoString (6)The ISO code of the
language.
udaTextDescNoString (250)The translated UDA
text.
createDateTimeNodateTimeThe creation date/time
of the translation
record.
updateDateTimeNodateTimeThe last update date/
time of the translation
record.

Table 5-445 UdaDate - Object. See list of elements for detail

Element NameRequiredData TypeDescription
udaIdNoNumber(5,0)This feld contains a
number identifying
the user-defned
attribute.
udaDescriptionNoString (120)This feld contains
description of user-
defned attribute.
udaDateNodateThis feld contains the
effective date for the
UDA id.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.

Table 5-446 ItemImage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
imageNameNoString (120)This feld specifes
name of the image.
imageAddressNoString (255)This feld specifes
path where the image
fle is stored.
imageTypeNoString (6)This feld contains the
type of the image of
the item. Valid values
are defned as member
of IITD code type.
primaryImageIndNoString (1)This feld specifes
display sequence
order of images
associated to the item
per priority.
displayPriorityNoNumber(4,0)This feld specifes
display sequence
order of images
associated to the item
per priority.
imageDescriptionNoString (40)This feld contains the
description associated
with the image of the
item.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.
translationNoCollection of ObjectList of translations for
Item Image

Table 5-447 ItemImageTranslation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageCodeNoNumber(6,0)The code identifying
the language.
languageNameNoString (120)The display name of
the language.
isoCodeNoString (6)The ISO code of the
language.
imageDescriptionNoString (40)This feld contains the
translated description
associated with the
image of the item.
createDateTimeNodateTimeThe creation date/time
of the translation
record.

Table 5-447 (Cont.) ItemImageTranslation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
updateDateTimeNodateTimeThe last update date/
time of the translation
record.

Table 5-448 ItemSeason - Object. See list of elements for detail

Element NameRequiredData TypeDescription
seasonIdNoNumber(3,0)The season identifer.
phaseIdNoNumber(3,0)The phase identifer.
sequenceNoNoNumber(4,0)This feld contains a
sequence number that
combined with the
item number will
make each record
unique.
diffIdNoString (10)This feld will hold a
value for group/
differentiator
combination records
only.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.

Table 5-449 ReferenceItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
referenceItemNoString (25)This feld holds Unique
identifer for the item.
primaryIndNoString (1)This feld Indicates if
the sub-transaction
level item is
designated as the
primary sub-
transaction level item.
For transaction level
items and above, the
value in this feld will
be ‘N’.
formatIdNoString (1)This feld will hold the
format id that
corresponds to the
item’s variable UPC.
This value is only used
for items with variable
UPCs.

Table 5-449 (Cont.) ReferenceItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
prefxNoNumber(2,0)This feld holds the
prefx for variable
weight UPCs. The
prefx determines the
format of the eventual
UPC and will be used
to decode variable
weight UPCs that are
uploaded from the
POS.
itemNoTypeNoString (6)This feld holds code
specifying what type
the item is. Valid
values for this feld are
in the code type UPCT
on the code_head and
code_detail tables.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
able 5-450 ItemBo
Element Name
m - Object. See lis
Required
t of elements for detail
Data Type
date when the record
was last updated.
Description
componentItem
packQuantity
able 5-451 ItemTick
Element Name
No
No
et - Object. See l
Required
String (25)
Number(12,4)
ist of elements for detail
Data Type
This feld specifes
unique identifer for
the component item.
This feld specifes
contains the quantity
of each item in the
pack item.
Description
ticketOverPercentageNoNumber
printOnPcIndNoString
ticketTypeIdNoString (4)This feld uniquely
identifes the ticket
type which is
associated with the
item.
ticketTypeDescriptionNoString (120)This feld contains a
description of the
ticket or label type.

Table 5-450 ItemBom - Object. See list of elements for detail

Table 5-451 ItemTicket - Object. See list of elements for detail

Table 5-451 (Cont.) ItemTicket - Object. See list of elements for detail

Element NameRequiredData TypeDescription
shelfEdgeLabelIndNoString (1)This feld contains a
description of the
ticket or label type.
poPrintTypeNoString (1)This feld indicates
when the ticket type
for the given item
should be printed by
default, upon the
approval or receipt of
the purchase order.
Valid values are: A and
R.
printOnPriceChangeIn
d
NoString (1)This feld indicates
whether or not this
type of ticket should
be printed for this
item when a
permanent price
change goes into
effect. Valid values in
this feld are:Y - Yes N -
No.
ticketOverPrintPercent
age
NoNumber(12,4)This feld contains a
percent which
indicates the amount
of tickets which should
be printed for a given
event. If the event
causing tickets to be
printed is approving
or receiving a
purchase order, then
this feld indicates the
quantity of tickets
which should be
printed greater than
the quantity of the
purchase order. If the
event causing the
tickets to be printed is
a permanent price
change, this feld
would indicate the
quantity of tickets
which should be
printed greater than
the stock on hand.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.

Table 5-451 (Cont.) ItemTicket - Object. See list of elements for detail

Element NameRequiredData TypeDescription
detailsNoCollection of ObjectThis List holds
attributes for the item
ticket details.

Table 5-452 ItemTicketDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
ticketItemIdNoString (4)This feld contains a
character string which
uniquely identifes an
attribute which will
appear on a ticket or
label such as retail
price or price per unit
of measure.
ticketItemIdDescriptio
n
NoString (250)This feld contains the
description of the
ticket_item_id.
udaIdNoNumber(5,0)This feld contains a
number which
uniquely defnes a
user-defned attribute
which is to be printed
on this ticket type.
sequenceNoNoNumber(4,0)This feld contains
sequence number of
item’s ticket record.

Table 5-453 RelatedItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
relationshipIdNoNumber(20,0)A system generated
numeric feld that
uniquely identifes the
relationship record in
related_item_head
table.
relationshipNameNoString (255)This feld holds user
entered name of the
relationshipe.
relationshipTypeNoString (6)This feld holds user
entered name of the
relationshipe.
mandatoryIndNoString (1)Indicates whether the
relationship is
mandatory or not.
Valid values: ‘Y’ (yes),
‘N’ (no).

Table 5-453 (Cont.) RelatedItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.
translationNoCollection of ObjectThis List holds
translation attributes
for the relationship.
detailsNoCollection of ObjectThis List holds
attributes for the
related item details.

Table 5-454 RelatedItemTranslation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageCodeNoNumber(6,0)This feld contains the
language in which the
translated text is
maintained
languageNameNoString (120)This feld contains
description of
language code in
which the translated
text is maintained
isoCodeNoString (6)This feld will hold the
ISO code associated
with the given
language.
relationshipNameNoString (255)This feld holds the
translated value of the
relationship name
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.

Table 5-455 RelatedItemDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
relatedItemNoString (25)Item for which related
items are defned.
Valid transaction level/
sellable item. Multiple
items can be defned
for a relationship.

Table 5-455 (Cont.) RelatedItemDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
priorityNoNumber(4,0)This feld indicates
relationship priority.
Applicable only for
relationship type
Substitute.
startDateNodateThe related item can
be used on
transactions starting
this date.
endDateNodateThis feld related item
can be used on
transactions until this
date. A value of null
means that it is always
effective.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTime
able 5-456 ItemH
No
ts - Object. See lis
dateTime
t of elements for detail
This feld holds the
date when the record
was last updated.
Element NameRequiredData TypeDescription
htsNoString (25)The unique identifer
for the Harmonized
Tariff Schedule code.
importCountryNoString (3)The unique identifer
for the country that
the item will be
imported into.
originCountryNoString (3)The country where the
item was
manufactured or
signifcantly altered.
effectFromNodateThe date from which
the Item/HTS
relationship is valid.
This feld is used to
maintain historical
information related to
the Item/HTS
relationship.

Table 5-456 ItemHts - Object. See list of elements for detail

Table 5-456 (Cont.) ItemHts - Object. See list of elements for detail

Element NameRequiredData TypeDescription
effectToNodateThe date until when
the Item/HTS
relationship is valid.
This feld is used to
maintain historical
information related to
the item/HTS
relationship.
clearingZoneIdNoString (5)The concept of
’clearing zone’
represents a country’s
zone-level point of
entry of goods (for
example, zones within
the country where the
goods are clearing
customs). No locations
or cost zones are
associated to a
clearing zone. This
feld holds the Clearing
Zone ID for the
effective HTS code.
Clearing zones are
defned by import
country.
statusNoString (1)Used to indicate the
status of the Item/HTS
relationship. Valid
values are
(W)orksheet and
(A)pproved.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.
assessmentsNoCollection of ObjectReferences a collection
of assessments
associated to the item
HTS.

Table 5-457 ItemHtsAssess - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentIdNoString (10)The code representing
the specifc assessment
component.

Table 5-457 (Cont.) ItemHtsAssess - Object. See list of elements for detail

Element NameRequiredData TypeDescription
computationValueBaseNoString (10)The Computation
Value Base
representing the base
value for calculating
the assessment.
componentRateNoNumber(20,4)The rate to be charged
against the calculation
base. This feld will
hold a percentage
value if the Calculation
Basis of the
Component is Value or
a monetary amount if
the Calculation Basis is
Specifc.
perCountNoNumber(12,4)A count indicating the
amount of the Per
Count Unit of Measure
to which the rate
applies. This column is
only used for specifc
(per-unit) assessments.
perCountUomNoString (4)The unit of measure in
which the Per Count is
specifed. This column
is only used from
specifc (per-unit)
assessments.
estimatedAssessmentV
alue
NoNumber(26,10)Contains the
calculated value of the
Component.
componentCurrencyNoString (3)This feld contains
component currency.

Table 5-457 (Cont.) ItemHtsAssess - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nominationFlag1NoString (1)This feld contains a
fag that is used to
indicate if the value of
the cost component
should be included in
the calculation of
another. Nomination
fags are used to
calculate the value of a
Computation Value
Base (CVB) which has
the corresponding
nomination fag set to
Yes (Y). Valid values
are: N/A (N) (the value
of this component will
not be included in
CVBs which look at
Nomination Flag 1),
Add (+) (the value of
this component will be
added to CVBs which
look at Nomination
Flag 1), and Subtract
(-) (the value of this
component will be
deducted from CVBs
which look at
Nomination Flag 1).
For example, if cost
component ABC has a
+ in Nomination Flag
1, then all CVBs that
include Nomination
Flag 1 will include this
cost component value
in their calculation
basis.
inDutyNoString (1)If Import Management
is enabled in
Merchandising (i. e.
system_options.
import_ind = Y), the
inDuty fag is used to
indicate if the value of
the cost component
should be included in
total duty.

Table 5-457 (Cont.) ItemHtsAssess - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nominationFlag3NoString (1)This feld contains a
fag that is used to
indicate if the value of
the cost component
should be included in
the calculation of
another. Nomination
fags are used to
calculate the value of a
Computation Value
Base (CVB) which has
the corresponding
nomination fag set to
Yes (Y). Valid values
are: N/A (N) (the value
of this component will
not be included in
CVBs which look at
Nomination Flag 3),
Add (+) (the value of
this component will be
added to CVBs which
look at Nomination
Flag 3), and Subtract
(-) (the value of this
component will be
deducted from CVBs
which look at
Nomination Flag 3).
For example, if cost
component ABC has a
+ in Nomination Flag
3, then all CVBs that
include Nomination
Flag 3 will include this
cost component value
in their calculation
basis.
inExpenseNoString (1)The inExpense fag is
used to indicate if the
value of the cost
component should be
included in total
expenses.

Table 5-457 (Cont.) ItemHtsAssess - Object. See list of elements for detail

Element NameRequiredData TypeDescription
inAlcNoString (1)The inALC fag is used
for cost components
where the retailer
does not expect to
receive an actual value
for the charge via an
obligation or customs
entry. The inALC fag
allows the value of the
cost component to be
included in ALC via
direct nomination and
indicates to the system
that the estimated
value on the order
should be used as the
actual value as well
because no other
actual will be
provided.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
date when the record
was last updated.

Table 5-458 ItemExpense - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierNoNumber(10,0)The unique identifer
for the supplier.
countryOfSourcingNoString (3)The country where the
item was
manufactured or
signifcantly altered.
ladingPortNoString (5)The fnal destination
lading port of the item
if the Expense Type is
Country.
dischargePortNoString (5)The port where the
item will enter the
importing country.
costZoneGroupIdNoNumber(4,0)This feld holds the
items Zone Group, it is
stored here for
performance reasons.
costZoneIdNoNumber(10,0)The fnal destination
zone of the item if the
Expense Type is Zone.

Table 5-458 (Cont.) ItemExpense - Object. See list of elements for detail

Element NameRequiredData TypeDescription
baseExpenseIndNoString (1)This feld indicates
whether or not this Set
of Expenses is also the
base Set of Expenses.
componentIdNoString (10)The code representing
the specifc expense
component.
computationValueBaseNoString (10)The Computation
Value Base
representing the base
value for calculating
the expense.
componentRateNoNumber(20,4)The rate to be charged
against the calculation
base. This feld will
hold a percentage
value if the Calculation
basis of the
Component is Value or
a monetary amount if
the Calculation Basis is
Specifc.
perCountNoNumber(12,4)A count indicating the
amount of the Per
Count Unit of Measure
to which the rate
applies. This column is
only used for specifc
(per-unit) expenses.
perCountUomNoString (4)The unit of measure in
which the Per Count is
specifed. This column
is only used from
specifc (per-unit)
expenses.
estimatedExpenseValu
e
NoNumber(26,10)This feld contains the
calculated value of the
Component.
componentCurrencyNoString (3)This feld contains the
currency the expense
is to be entered in. If
the Calculation Basis is
V (Value), then the
comp_currency will be
NULL.

Table 5-458 (Cont.) ItemExpense - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nominationFlag1NoString (1)This feld contains a
fag that is used to
indicate if the value of
the cost component
should be included in
the calculation of
another. Nomination
fags are used to
calculate the value of a
Computation Value
Base (CVB) which has
the corresponding
nomination fag set to
Yes (Y). Valid values
are: N/A (N) (the value
of this component will
not be included in
CVBs which look at
Nomination Flag 1),
Add (+) (the value of
this component will be
added to CVBs which
look at Nomination
Flag 1), and Subtract
(-) (the value of this
component will be
deducted from CVBs
which look at
Nomination Flag 1).
For example, if cost
component ABC has a
+ in Nomination Flag
1, then all CVBs that
include Nomination
Flag 1 will include this
cost component value
in their calculation
basis.
inDutyNoString (1)If Import Management
is enabled in
Merchandising (i. e.
system_options.
import_ind = Y), the
inDuty fag is used to
indicate if the value of
the cost component
should be included in
total duty.

Table 5-458 (Cont.) ItemExpense - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nominationFlag3NoString (1)This feld contains a
fag that is used to
indicate if the value of
the cost component
should be included in
the calculation of
another. Nomination
fags are used to
calculate the value of a
Computation Value
Base (CVB) which has
the corresponding
nomination fag set to
Yes (Y). Valid values
are: N/A (N) (the value
of this component will
not be included in
CVBs which look at
Nomination Flag 3),
Add (+) (the value of
this component will be
added to CVBs which
look at Nomination
Flag 3), and Subtract
(-) (the value of this
component will be
deducted from CVBs
which look at
Nomination Flag 3).
For example, if cost
component ABC has a
+ in Nomination Flag
3, then all CVBs that
include Nomination
Flag 3 will include this
cost component value
in their calculation
basis.
inExpenseNoString (1)The inExpense fag is
used to indicate if the
value of the cost
component should be
included in total
expenses.

Table 5-458 (Cont.) ItemExpense - Object. See list of elements for detail

Element NameRequiredData TypeDescription
inAlcNoString (1)The inALC fag is used
for cost components
where the retailer
does not expect to
receive an actual value
for the charge via an
obligation or customs
entry. The inALC fag
allows the value of the
cost component to be
included in ALC via
direct nomination and
indicates to the system
that the estimated
value on the order
should be used as the
actual value as well
because no other
actual will be
provided.
createDateTimeNodateTimeThis feld holds the
record creation date.
updateDateTimeNodateTimeThis feld holds the
able 5-459 Requir
Element Name
edDocuments - Obje
Required
ct. See list of element
Data Type
date when the record
was last updated.
s for detail
Description
documentId
able 5-460 ItemIm
Element Name
No
portAttr - Object. Se
Required
Number(6,0)
e list of elements for d
Data Type
This feld contains
documents of the
items.
etail
Description
importDescriptionNoString (2000)This feld contains
description of the item
used for importing
purposes..
commodityNoString (6)This feld contains the
code used to classify
the item by their type
of merchandise.
toolingNoNumber(20,4)This feld contains the
cost associated with a
given Tooling/Assist
charge.

Table 5-459 RequiredDocuments - Object. See list of elements for detail

Element NameRequiredData TypeDescription
documentIdNoNumber(6,0)This feld contains
documents of the
items.

Table 5-460 ItemImportAttr - Object. See list of elements for detail

Table 5-460 (Cont.) ItemImportAttr - Object. See list of elements for detail

Element NameRequiredData TypeDescription
frstOrderIndicatorNoString (1)This feld contains
indicator to determine
if duty is to be paid on
the total value of the
tooling expense the
frst time the item is
shipped
amortizeBaseNoNumber(12,4)This feld contains the
number of units over
which the tooling/
assist cost will be
amortized.
openBalanceNoNumber(12,4)This feld contains the
open balance of the
number of units yet to
be received over
which the tooling costs
will be amortized.
createDateTimeNodateTimeThis feld holds the
record creation date.

Table 5-461 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"longtDescription": "String",
"item": "100100076",
"itemNumberType": "MANL",
"status": "A",
"itemLevel": 1,
"tranLevel": 1,
"itemDescription": "Regular Item 100100076",
"shortDescription": "100100076 Item",
"itemDescriptionUppercase": "100100076 ITEM REGULAR",
"itemDescriptionSecondary": "100100076 Item Regular",
"longDescription": null,
"itemParent": null,
"itemGrandparent": null,
"sellableInd": "Y",
"orderableInd": "Y",
"inventoryInd": "Y",
"packInd": "Y",
"simplePackInd": "N",
"containsInnerInd": "N",
"dept": 3041,
"deptName": null,
"class": 1.0,
"className": null,
"uniqueClassId": 1,
"subclass": 1,
"subclassName": null,
"uniqueSubclassId": 1,
"unitRetail": 1.0,
"variableUpcFormatId": null,
"variableWeightUpcPrefix": 1,
"diff1": null,
"diff1Type": null,
"diff2": null,
"diff2Type": null,
"diff3": null,
"diff3Type": null,
"diff4": null,
"diff4Type": null,
"costZoneGroupId": 1000,
"standardUom": "EA",
"uomConversionFactor": 3,
"packageSize": 1.0,
"packageUom": null,
"merchandiseInd": "Y",
"storeOrderMultiple": "E",
"forecastInd": null,
"manufacturerRecommendedRetail": 12.99,
"manufacturerRetailCurrencyCode": "USD",
"originalRetail": 12.99,
"originalRetailCurrencyCode": "USD",
"retailLabelType": null,
"retailLabelTypeDescription": null,
"retailLabelValue": 1.0,
"handlingTemperature": null,
"handlingTemperatureDescription": null,
"handlingSensitivity": null,
"handlingSensitivityDescription": null,
"catchWeightInd": "Y",
"catchWeightType": null,
"catchWeightUom": "EA",
"orderType": null,
"saleType": null,
"wasteType": null,
"wasteTypeDescription": null,
"averageWastePercentage": 1.0,
"defaultWastePercentage": 1.0,
"constantDimensionInd": "Y",
"packType": null,
"orderAsType": null,
"comments": null,
"itemServiceLevel": null,
"giftWrapInd": "Y",
"shipAloneInd": "Y",
"brandName": null,
"brandDescription": null,
"perishableInd": "Y",
"itemTransformInd": "N",
"depositItemType": null,
"containerItem": null,
"depositInPricePerUom": null,
"storePackInventoryInd": "Y",
"sohInquiryAtPackInd": "Y",
"purchaseType": null,
"productClassification": null,
"productClassificationDescription": null,
"itemAggregateInd": "Y",
"diff1AggregateInd": "Y",
"diff2AggregateInd": "Y",
"diff3AggregateInd": "Y",
"diff4AggregateInd": "Y",
"diff1Level": null,
"diff1Description": null,
"diff2Level": null,
"diff2Description": null,
"diff3Level": null,
"diff3Description": null,
"diff4Level": null,
"diff4Description": null,
"primaryImageUrl": null,
"transferAllocUpChargeSourceType": "D",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"itemTranslation": [
{
"languageCode": 2,
"languageName": null,
"isoCode": "en-US",
"itemDescription": "itemDesc",
"itemDescriptionSecondary": "itemDescSecondary",
"shortDescription": "shortDesc",
"longDescription": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"itemSupplier": [
{
"supplier": 2400,
"primarySupplierInd": "Y",
"vpn": null,
"supplierLabel": null,
"consignmentRate": 3,
"supplierDiff1": null,
"supplierDiff2": null,
"supplierDiff3": null,
"supplierDiff4": null,
"palletName": "PAL",
"caseName": "CS",
"innerName": "INR",
"supplierDiscontinueDate": "2001-12-31",
"directShipInd": "Y",
"primaryCaseSize": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"itemSupplierCountry": [
{
"originCountry": null,
"primarySupplierInd": null,
"primaryCountryInd": "Y",
"unitCost": 9.65,
"leadTime": 1,
"pickupLeadTime": 1,
"supplierPackSize": 1,
"innerPackSize": 1,
"roundLevel": "C",
"minimumOrderQuantity": 1.0,
"maximumOrderQuantity": 1,
"packingMethod": "HANG",
"defaultUop": null,
"ti": 1,
"hi": 1,
"costUom": "EA",
"toleranceType": null,
"maximumTolerance": 1.0,
"minimumTolerance": 1.0,
"roundToInnerPercentage": 50,
"roundToCasePercentage": 50,
"roundToLayerPercentage": 50,
"roundToPalletPercentage": 50,
"supplierHierarchyType1": null,
"supplierHierarchyLevel1": null,
"supplierHierarchyType2": null,
"supplierHierarchyLevel2": null,
"supplierHierarchyType3": null,
"supplierHierarchyLevel3": null,
"negotiatedItemCost": 1.0,
"extendedBaseCost": 1.0,
"inclusiveCost": 1.0,
"baseCost": 1.0,
"purchaseType": 0,
"calculationBasis": null,
"purchaseRate": 1.0,
"pricingControl": "R",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"itemSupplierCountryDimension": [
{
"dimensionObject": null,
"dimensionObjectDescription": null,
"presentationMethod": null,
"presentationMethodDescription": null,
"length": 1.0,
"width": 1.0,
"height": 1.0,
"lwhUom": null,
"weight": 1.0,
"netWeight": 1.0,
"weightUom": null,
"liquidVolume": 1.0,
"liquidVolumeUom": null,
"statisticalCase": 1.0,
"tareWeight": 1.0,
"tareType": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
],
"itemSupplierCountryOfManufacture": [
{
"countryId": "BR",
"primaryInd": "N",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"itemSupplierUom": [
{
"uom": null,
"value": 1.0,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"translation": [
{
"languageCode": 2,
"languageName": null,
"isoCode": "en-US",
"supplierDiff1": null,
"supplierDiff2": null,
"supplierDiff3": null,
"supplierDiff4": null,
"supplierLabel": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
],
"itemUda": {
"udaLov": [
{
"udaId": 1,
"udaDescription": null,
"udaValue": 1,
"udaValueDescription": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"udaFreeform": [
{
"udaId": 1,
"udaDescription": null,
"udaText": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"translation": [
{
"languageCode": 2,
"languageName": null,
"isoCode": "en-US",
"udaTextDesc": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
],
"udaDate": [
{
"udaId": 1,
"udaDescription": null,
"udaDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
},
"itemImage": [
{
"imageName": "imageName1",
"imageAddress": "http://www.oracle.com/",
"imageType": "T",
"primaryImageInd": "Y",
"displayPriority": 1,
"imageDescription": "imageDesc1",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"translation": [
{
"languageCode": 2,
"languageName": null,
"isoCode": "en-US",
"imageDescription": "Item Image",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
],
"itemSeason": [
{
"seasonId": 1,
"phaseId": 1,
"sequenceNo": 1,
"diffId": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"referenceItem": [
{
"referenceItem": null,
"primaryInd": "N",
"formatId": null,
"prefix": 1,
"itemNoType": "MANL",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"itemBOM": [
{
"componentItem": null,
"packQuantity": 1.0
}
],
"itemTicket": [
{
"ticketOverPercentage": 1.0,
"printOnPcInd": "String",
"ticketTypeId": null,
"ticketTypeDescription": null,
"shelfEdgeLabelInd": null,
"poPrintType": null,
"printOnPriceChangeInd": "Y",
"ticketOverPrintPercentage": 3,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"details": [
{
"ticketItemId": null,
"ticketItemIdDescription": null,
"udaId": 1,
"sequenceNo": 1
}
]
}
],
"relatedItem": [
{
"relationshipId": 1,
"relationshipName": null,
"relationshipType": null,
"mandatoryInd": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"translation": [
{
"languageCode": 2,
"languageName": null,
"isoCode": "en-US",
"relationshipName": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"details": [
{
"relatedItem": null,
"priority": 1,
"startDate": "2001-12-31",
"endDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
],
"hts": [
{
"hts": null,
"importCountry": "US",
"originCountry": "US",
"effectFrom": "2001-12-31",
"effectTo": "2001-12-31",
"clearingZoneId": null,
"status": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"assessments": [
{
"componentId": null,
"computationValueBase": null,
"componentRate": 1.0,
"perCount": 1.0,
"perCountUom": null,
"estimatedAssessmentValue": 1.0,
"componentCurrency": null,
"nominationFlag1": null,
"inDuty": null,
"nominationFlag3": null,
"inExpense": null,
"inAlc": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
],
"expense": [
{
"supplier": 2400,
"countryOfSourcing": "US",
"ladingPort": "7",
"dischargePort": "480",
"costZoneGroupId": 1,
"costZoneId": 1,
"baseExpenseInd": "N",
"componentId": "AGCOMM",
"computationValueBase": "TDTYUS",
"componentRate": 3.55,
"perCount": 3,
"perCountUom": "EA",
"estimatedExpenseValue": 1.0,
"componentCurrency": "USD",
"nominationFlag1": null,
"inDuty": null,
"nominationFlag3": null,
"inExpense": null,
"inAlc": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"requiredDocuments": [
{
"documentId": 1
}
],
"itemImportAttributes": [
{
"importDescription": "import desc",
"commodity": "A123",
"tooling": 12,
"firstOrderIndicator": "Y",
"amortizeBase": 12.4568,
"openBalance": 12.4568,
"createDateTime": "2001-12-31T23:59:59.000Z"
}
],
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ITEM_MASTERYesNoNoNo
ITEM_MASTER_CFA_EXTYesNoNoNo
ITEM_SUPPLIER_CFA_EXTYesNoNoNo
ITEM_SUPP_COUNTRY_CFA_EXTYesNoNoNo
ITEM_SUPP_COUNTRY_LOC_CFA_EXTYesNoNoNo
MERCHAPI_EXT_ITEMYesYesYesYes
V_MERCHAPI_EXT_ITEM_JSONYesNoNoNo
ICL_RMS_ITEM_MASTERYesNoYesYes
ICL_RMS_ITEM_SUPPLIERYesNoYesYes
ICL_RMS_ITEM_SUPP_UOMYesNoYesYes
ICL_RMS_ITEM_SUPP_CTRYYesNoYesYes
ICL_RMS_ITEM_SUPP_CTRY_DIMYesNoYesYes
TABLESELECTINSERTUPDATEDELETE
ICL_RMS_ITEM_SUPP_MANU_CTRYYesNoYesYes
ICL_RMS_ITEM_TICKETYesNoYesYes
ICL_RMS_UDA_ITEM_DATEYesNoYesYes
ICL_RMS_UDA_ITEM_LOVYesNoYesYes
ICL_RMS_UDA_ITEM_FFYesNoYesYes
ICL_RMS_ITEM_IMAGEYesNoYesYes
ICL_RMS_ITEM_SEASONSYesNoYesYes
ICL_RMS_RELATED_ITEMNoYesNoNo
ICL_RMS_ITEM_HTSYesNoYesYes
ICL_RMS_ITEM_EXPYesNoYesYes
Get Item Location Details

Endpoints

MerchIntegrations/services/foundation/item/location

Functional Area

Items - Item Definition

Business Overview

This service publishes item/location relationships to downstream consuming systems. It covers item/location combinations whose source view still resolves to a store, warehouse, or external finisher and whose item is currently in status A or D. The payload carries the location-specific selling, sourcing, replenishment, VAT, substitute-item, and custom-flex details that downstream commerce and inventory integrations use to interpret item behavior at a location.

This API follows a broader merged-cache pattern than the simpler single-entity publish services. The external foundation/item/location endpoint shares its cache and runtime configuration with foundation/omnichannel/item/itemlocation, and the GET-all query switches between the delta and full access paths based on whether the requested window is 30 days or less or greater than 30 days.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: ITEM_LOC, ITEM_LOC_TRAITS, REPL_ITEM_LOC, SUB_ITEMS_HEAD, SUB_ITEMS_DETAIL

Additional business tables: ITEM_MASTER, ITEM_SUPP_COUNTRY, ITEM_SUPP_COUNTRY_LOC, VAT_ITEM, RELATED_ITEM_HEAD, SYSTEM_OPTIONS, UOM_CLASS, STORE, WH, PARTNER, ITEM_LOC_CFA_EXT

JSON cache table: MERCHAPI_ITEM_LOC

JSON generation view: V_MERCHAPI_ITEM_LOC_JSON

Builds the payload from ITEM_LOC, optional traits from ITEM_LOC_TRAITS, replenishment attributes from REPL_ITEM_LOC, item hierarchy and search attributes from ITEM_MASTER, supplier/country and location cost fields from ITEM_SUPP_COUNTRY and ITEM_SUPP_COUNTRY_LOC, custom flex attributes from MERCHAPI_EXT_ITEM_LOC_CFA, VAT data from VAT_ITEM, related-item flags from RELATED_ITEM_HEAD, and location enrichment from a loc CTE over STORE, WH, and PARTNER where PARTNER_TYPE = ‘E’.

The source view is limited to item/location combinations whose item is currently in status A or D and whose location resolves to a store, warehouse, or external finisher.

The published payload carries the location-specific selling, sourcing, replenishment, VAT, substitute-item, and custom-flex details that downstream commerce and inventory integrations use to interpret item behavior at a location.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_ITEM_LOC_JSON and apply ITEM_MASTER.STATUS IN (‘A’,‘D’); loc includes stores, warehouses, and partners with PARTNER.PARTNER_TYPE = ‘E’.

Rebuild marks cache rows deleted when the item/location no longer exists in V_MERCHAPI_ITEM_LOC_JSON.

ICL (Integration Change Log) table: ICL_RMS_ITEM_LOC, ICL_RMS_REPL_ITEM_LOC (ICL consumer name = MERCHAPI_2)

ICL_RMS_ITEM_LOC is fed by triggers on ITEM_LOC, ITEM_LOC_TRAITS, ITEM_LOC_CFA_EXT, SUB_ITEMS_HEAD, SUB_ITEMS_DETAIL, and ownership-publish updates through OWNERSHIP_PUB_GTT.

ICL_RMS_REPL_ITEM_LOC rows are staged from REPL_ITEM_LOC and are republished as updates to the parent item-location payload.

Item Approval Handling

On item approval, the main item publish flow writes existing store and warehouse ITEM_LOC rows to ICL_RMS_ITEM_LOC so this API is also queued once the parent item becomes approved. ITEM_LOC rows are not backfilled through this path while the item remains in worksheet or submitted status.

Batch-driven bulk rebuild handling for specific events

Store VAT region change and warehouse VAT region change do not rely only on ICL staging. Those source events insert a record into MERCHAPI_ASYNC_REQUEST with REQUEST_TYPE = DATA_REFRESH, REFRESH_TYPE = REBUILD, and REQUEST_PARAMETERS set to the affected location so the rebuild stays scoped to that store or warehouse.

Tomorrow-effective VAT rate activation through VAT code-rate maintenance using batch job VATDLXPL and its prepost (post) can also insert a record into MERCHAPI_ASYNC_REQUEST with REQUEST_TYPE = DATA_REFRESH and REFRESH_TYPE = REBUILD when the VAT change can affect a broad item/location population. This broader rebuild path is handled through the Vat Rate Change Explode (VATDLXPL) flow as part of prepost.pc. Smaller tomorrow-effective item VAT changes are handled through targeted item/location delta staging instead of the broader rebuild path.

These requests are processed through MERCHAPI_DATA_REBUILD_ADHOC_PROCESS MERCHAPI_DATA_REBUILD_ADHOC_JOB and refresh the shared MERCHAPI_ITEM_LOC cache used by foundation/item/location and foundation/omnichannel/item/itemlocation.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_OMNI_ITEM_LOC

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_OMNI_ITEM_LOC_ADHOC_PROCESS MERCHAPI_OMNI_ITEM_LOC_ADHOC_JOB

Webhook configuration api name: foundation/item/location

Special handling

Additional GET query parameters: item, locationType, location, itemLocationStatus, purchaseType, tranLevelInd, itemNumberType, departmentId, classId, subclassId, inventoried, sellable, orderable, changeType.

The filters itemLocationStatus, purchaseType, tranLevelInd, itemNumberType, departmentId, classId, subclassId, inventoried, sellable, and orderable are not backed by dedicated cachetable indexes. At high volume, use them only as additional criteria on top of a small-window delta fetch and not for full downloads.

Performance Considerations

For customers expecting high to very high publish volume from this API, sizing and operational tuning should be addressed early in the implementation lifecycle. Initial cache seeding, ongoing delta processing, full extracts, and incremental downloads or webhook-driven delivery have different runtime characteristics and should be evaluated separately. Because this service builds a merged item-location cache from multiple base and supporting tables, the available configuration should be validated against the customer production item-location profile, with the key performance-related configuration for this service covering the following:

Multi-threading and commit control

This service supports multi-threaded execution for both initial seeding and delta processing. Thread count is controlled through API_NO_OF_THREADS, and commit sizing is controlled through API_COMMIT_MAX_COUNTER.

Thread and commit settings should be chosen together based on expected row volume, average message size, and the complex SQL query required to build the shared item-location cache from multiple base and supporting tables. Common starting points for large-volume (multi-millions) runs are 16 or 32 threads. Values of 48 or 64 threads should be considered only after testing and with awareness of competing workload in the environment.

API_COMMIT_MAX_COUNTER should be sized together with the thread setting. Typical values range from about 1,000 rows to 10,000.

For delta processing, the same parameters apply. It is advisable to reduce the thread values to 2 or 4 after the seeding is complete.

Dropping indexes and constraints during seeding

This option applies only to initial seeding, including truncate-and-load execution. When thread and commit settings are high, concurrent inserts can increase index maintenance overhead and slow the load.

To reduce that overhead, DROP_INDEX_ON_REFRESH can be enabled so indexes and constraints are dropped before seeding and rebuilt after the load completes. GATHER_STATS_ON_REFRESH should normally remain enabled unless testing shows a specific reason to change it.

REST fetch considerations

Item-location payloads can be comparatively large, so REST page size should be selected based on average message size so the average response remains below about 10 MB per call. Common page-limit values between 1,000 or 10,000 rows can be used.

For full downloads, do not provide the since query parameter so the database can favor the primary-key access path. For delta downloads, use a small time window, typically a few minutes and at most a few hours, so the eligible row set on the LAST_UPDATE_DATETIME index remains small.

Wider delta windows, especially multi-day windows that can arise during outages or data recovery, generally do not perform well. For such scenarios, keeping BUILD_HISTOGRAM enabled allows the service to support recovery through smaller, more selective polling windows using the optimalBefore query parameter.

In this catch-up pattern, for requests up to 30 days in the past, the client provides optimalBefore and leaves before empty. The client then uses the returned before timestamp to continue polling incrementally until the backlog is cleared, and then resumes the normal shortwindow delta pattern. Hourly histogram processing groups LAST_UPDATE_DATETIME values into buckets of 100,000 rows in MERCHAPI_TIMESTAMP_HISTOGRAM using API specific HISTOGRAM_ROW_COUNT configuration.

Handling Bulk Publish on VAT Rate change event or Store/Warehouse attribute change

This API also uses batch-driven REBUILD handling for store or warehouse VAT-region changes and broader VAT rate events that can materially increase the publish population.

Because the VAT effect must be recalculated for all affected items at affected locations, those changes can expand into a much larger item/location republish set.

A larger VAT code-rate change can result in a very large number of records being published to downstream systems and should be planned with the downstream performance implication of that message volume in mind.

Full-refresh workload balancing and monitoring

This API uses a different full-refresh balancing pattern than the simpler fixed-thread publish services because item/location volume is not evenly distributed by location. A smaller store can contribute only a limited number of rows while a larger store or warehouse can contribute millions, so the refresh balances work by item/location workload rather than by location number alone.

As processing continues, MERCHAPI_BOOKMARK can show newly active entries for individual locations created from that workload balancing while earlier entries complete, and the rebuild remains in progress as long as at least one MERCHAPI_BOOKMARK row is still active.

Service Type

GET
ReST URL

MerchIntegrations/services/foundation/item/location

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
itemNoStringItem
locationTypeNoStringLocation Type - STORE,
WAREHOUSE or
EXTERNAL_FINISHER
locationNoString (10)Location
itemLocationStatusNoStringItem Location Status -
A, I, C or D
purchaseTypeNoStringPurchase Type - 0, 1 or
2
tranLevelIndNoStringTransaction Level
Indicator - Y or N
itemNumberTypeNoStringItem Type
departmentIdNoString (4)Department
classIdNoString (4)Class
subclassIdNoString (4)Subclass
inventoriedNoStringInventoried - Y or N
sellableNoStringSellable - Y or N
orderableNoStringOrderable - Y or N
offsetkeyNoStringOffset key ([location
type],[location],[item]
Example:
S,120091,Item-35)
limitNoString (6)Pagination limit.
Default value is 1000.
changeTypeNoStringFilter records that
were created or
deleted within since/
before time range.
Valid values create or
delete
optimalBeforeNoStringEnables histogram-
based calculation of
the before timestamp
when before is not
provided. Valid values
are Y or N. Default
value is N.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
Parameter NameRequiredData TypeDescription
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-462 PageResultsItemsMerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-463 MerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for item-
location details.
itemNoString (25)This feld specifes the
unique alphanumeric
value that identifes
the item.

Table 5-463 (Cont.) MerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemLevelNoNumber(1,0)This feld specifes
Number indicating
which of the three
levels the item resides.
The item level
determines if the item
stands alone or if it is
part of a family of
related items. The item
level also determines
how the item may be
used throughout the
system.
tranLevelNoNumber(1,0)This feld specifes
Number indicating
which of the three
levels transactions
occur for the item’s
group. The transaction
level is the level at
which the item’s
inventory is tracked in
the system. The
transaction level item
will be counted,
transferred, shipped,
etc. The transaction
level may be at the
current item or up to 2
levels above or below
the current item. Only
one level of the
hierarchy of an item
family may contain
transaction level
items.
locationNoNumber(10,0)This feld contains the
numeric identifer of
the location in which
the item is to be found.
This feld may contain
a store, warehouse, or
external fnisher.
locationTypeNoString (1)This feld contains the
type of location in
which the item is to be
found. Valid values are
Store (S), Warehouse
(W), and External
Finisher (E).

Table 5-463 (Cont.) MerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
statusNoString (1)Current status of item
at the store or
warehouse. Valid
values are: A = Active,
item is valid and can
be ordered and sold; I
= Inactive, item is valid
but cannot be ordered
or sold; C =
Discontinued, item is
valid and sellable but
no longer orderable; D
= Delete, item is
invalid and cannot be
ordered or sold.
physicalWarehouseNoNumber(10,0)This feld contains the
numeric identifer of
the physical
warehouse in which
the item is to be found.
storeTypeNoString (6)This feld indicates
whether a particular
store is a franchise or
company store.
stockholdingIndNoString (1)This feld indicates
whether or not the
location can hold
stock.
localItemDescriptionNoString (250)This feld specifes
selling local
description of the
item. This feld will
default to the item’s
description but will be
over-ridable. This
value will be
downloaded to the
POS.
localShortDescriptionNoString (120)Contains the local
short description of
the item. This feld will
default to the item’s
short description but
will be over-ridable.
This value will be
downloaded to the
POS.
primarySupplierNoNumber(10,0)This feld contains the
primary supplier of
the item at the
location.

Table 5-463 (Cont.) MerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
primaryCountryNoString (3)This feld contains the
primary country of the
item at the location.
unitCostNoNumber(20,4)This feld is the
current unit cost of the
item for the item/
supplier/
origin_country
combination. This feld
is stored in the
supplier’s currency.
costUomNoString (4)A cost UOM is held to
allow costs to be
managed in a separate
UOM than the
standard UOM.
purchaseTypeNoNumber(1,0)This feld contains a
code to indicate
whether the item is
normal merchandise
(i.e. owned by the
retailer), consignment
stock, or a concession
item. Valid values are
0 - Owned, 1 -
Consignment, 2 -
Concession.
calculationBasisNoString (1)This feld indicates if
the cost for the
consignment/
concession item will
be managed either
based on cost per unit
or as a percentage of
retail. Valid values are
C - Cost per Unit, P -
Purchase Rate.
purchaseRateNoNumber(12,4)This column contains
the percentage of the
retail price which will
determine the cost
paid to the supplier for
a consignment or
concession item.

Table 5-463 (Cont.) MerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
pricingControlNoString (1)This feld contains the
pricing control of the
item which will
determine whether
the item price is
controlled by the
retailer or supplier.
Valid values are R -
Managed by Retailer, S
- Managed by Supplier,
NULL - For Owned
Items.
receiveAsTypeNoString (1)This column
determines whether
the stock on hand for a
pack component item
or the pack itself will
be updated when a
pack is received at a
warehouse. Valid
values are Each (E) or
Pack (P). This value is
required for all pack
items where the
location type is
Warehouse (W). For
vendor packs, this
must be set to Pack (P);
for buyer packs, it can
be either Each (E) or
Pack (P).
taxableIndNoString (1)This feld indicates
whether or not the
item is taxable at the
store. Valid values are:
Y = Yes, the item is
taxable; N = No, the
item is not taxable.

Table 5-463 (Cont.) MerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
sourceMethodNoString (1)This feld will be used
to specify how the ad-
hoc PO/TSF creation
process should source
the item/location
request. If the value is
Warehouse, the
process will attempt to
fll the request by
creating a transfer
from the warehouse
mentioned in the
source_wh feld. If this
warehouse does not
have enough
inventory to fll the
request, a purchase
order will be created
for the item/location’s
primary supplier. For
warehouses, it is used
by Oracle Retail
Allocation to
determine the valid
sources and
destinations for
warehouse-to-
warehouse allocations.
sourceWarehouseNoNumber(10,0)This feld will be used
by the ad-hoc PO/
Transfer creation
process to determine
which warehouse to
fll the store’s request
from. It will also be
used by the Allocation
process to support
warehouse-to-
warehouse allocations.
A value will be
required in this feld if
the sourcing method is
Warehouse.
unitRetailNoNumber(20,4)This feld contains the
unit retail price in the
standard unit of
measure for the item/
location combination.
This feld is stored in
the local currency.

Table 5-463 (Cont.) MerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
sellingUnitRetailNoNumber(20,4)This feld contains the
unit retail price in the
selling unit of measure
for the item/location
combination. This feld
is stored in the local
currency.
sellingUomNoString (4)This feld contains the
selling unit of measure
for an item’s single-
unit retail.
storePriceIndNoString (1)This feld indicates if
an item at a particular
store location can have
the unit retail marked
down by the store.
uinTypeNoString (6)This feld contains the
unique identifcation
number (UIN) used to
identify the instances
of the item at the
location.
uinLabelNoString (6)This feld contains the
label for the UIN when
displayed in the store
system.
captureTimeNoString (6)This feld indicates
when the UIN should
be captured for an
item during
transaction processing.
externalUinIndNoString (1)This Yes/No indicator
indicates if UIN is
being generated in the
external system.
rangedIndNoString (1)This feld determines if
the location is ranged
intentionally by the
user for
replenishment/selling
or incidentally ranged
by the Merchandising
programs when the
item is not ranged to a
specifc location on the
transaction.
itemParentNoString (25)This feld contains the
alphanumeric value
that uniquely
identifes the item/
group at the level
above the item.

Table 5-463 (Cont.) MerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemGrandparentNoString (25)This feld contains the
alphanumeric value
that uniquely
identifes the item/
group two levels above
the item.
tiNoNumber(12,4)This feld contains the
number of shipping
units (cases) that make
up one tier of a pallet.
Multiply TI x HI to get
the total number of
cases for a pallet.
hiNoNumber(12,4)This feld contains the
number of tiers that
make up a complete
pallet (height).
Multiply TI x HI to get
the total number of
cases for a pallet.
storeOrderMultipleNoString (1)This feld contains the
multiple in which the
item needs to be
shipped from a
warehouse to the
location.
dailyWastePercentNoNumber(12,4)This feld contains the
average percentage
lost from inventory on
a daily basis due to
natural wastage.
measureOfEachNoNumber(12,4)This feld contains the
size of an each in
terms of the
uom_of_price. For
example, 12 oz. Used
in ticketing.
measureOfPriceNoNumber(12,4)This feld contains the
size to be used on the
ticket in terms of the
uom_of_price. For
example, if the user
wants the ticket to
have the label print
the price per ounce,
this value would be 1.
If the user wanted the
price per 100 grams,
this value would be
100. This is used in
ticketing.

Table 5-463 (Cont.) MerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
uomOfPriceNoString (4)This feld contains the
unit of measure that
will be used on the
ticket for this item.
primaryVariantNoString (25)This feld is used to
address sales of PLUs
(i.e. above transaction
level items) when
inventory is tracked at
a lower level (i.e. UPC).
This feld will only
contain a value for
items one level higher
than the transaction
level. Valid choices
will be any
transaction-level item
that is a child of this
item. In order to select
a transaction-level
item as the primary
variant, the item/
location relationship
must exist at the
transaction level. Both
the transaction-level
item (i.e. UPC) and the
higher-than-
transaction-level item
(i.e. PLU) will be sent
to the POS to allow the
store to sell the PLU.
The information sent
for the PLU will be the
same information sent
for the transaction-
level item (i.e. UPC).
primaryCostPackNoString (25)This feld contains an
item number that is a
simple pack
containing the item in
the item column for
this record. If
populated, the cost of
the future cost table
will be driven from
the simple pack and
the deals and cost
changes for the simple
pack.
inboundHandlingDaysNoNumber(2,0)This feld indicates the
number of inbound
handling days for an
item at a warehouse
type location.

Table 5-463 (Cont.) MerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
regularUnitRetailNoNumber(20,4)This feld holds the
unit retail in the
standard unit of
measure for the item/
location (zone)
combination. This feld
is stored in the local
currency.
multiUnitsNoNumber(12,4)This feld contains the
multi-units for the
item/location (zone)
combination.
multiUnitRetailNoNumber(20,4)This feld holds the
multi-unit retail in the
multi-selling unit of
measure for the item/
location (zone)
combination. This feld
is stored in the local
currency.
multiSellingUomNoString (4)This feld holds the
selling unit of measure
for this item/location
(zone) combination’s
multi-unit retail.
clearanceIndNoString (1)Indicates if item is on
clearance at the store.
Valid values are: Y =
Yes, the item is on
clearance; N = No, the
item is not on
clearance.
costingLocationNoNumber(10,0)This feld contains the
identifer of the
costing location for the
franchise store. This
feld may contain a
store or a warehouse.
costingLocationTypeNoString (1)This feld holds the
type of costing location
in the costing location
feld.
currencyCodeNoString (3)This feld contains the
currency code under
which the location
operates.

Table 5-463 (Cont.) MerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
pickupLeadTimeNoNumber(4,0)This feld contains the
time it takes to get the
item from the Supplier
to the Initial Receiving
Location. This value
will be defaulted to the
item_supp_country_loc
pickup lead time feld.
The ordering dialog
will reference the
item/supplier/country/
location pickup lead
time as the value may
vary by location.
rfdIndNoString (1)This feld allows the
retailer to specify if
the item should be
RFID tagged or not.
primaryReplenishmen
tSupplier
NoNumber(10,0)This feld contains the
numeric identifer of
the supplier from
which the specifed
location will source
the replenishment
demand for the
specifed item location.
Used for items on
Direct to Store/
Warehouse or Cross-
docked replenishment.
replenishmentMethodNoString (6)This feld contains the
character code for the
algorithm that will be
used to calculate the
recommended order
quantity for the item
location. Valid values
include Constant, Min/
Max, Floating point,
Time Supply, Dynamic,
SO Store Orders.
rejectStoreOrderIndNoString (1)This feld contains an
indicator that
determines if
uploaded store orders
should be rejected. If
the indicator is N, then
store orders for all
need dates are valid. If
Y, store orders with
needs date on or after
the
NEXT_DELIVERY_DAT
E are valid.

Table 5-463 (Cont.) MerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nextDeliveryDateNodateThis feld contains the
next delivery date
calculated for the next
review cycle. If, for the
next review cycle, an
order will be created
that is calculated to
arrive on Thursday,
this feld will be
updated with
Thursday’s date.
multipleReplenishmen
tsPerDayInd
NoString (1)This feld indicates if
an item can be
replenished multiple
times per day at the
location. Default value
is N.
launchDateNodateThis feld holds the
date that the item
should frst be sold at
the location. This
value will be
downloaded to the
POS.
quantityKeyOptionsNoString (6)This feld determines
whether the qty key on
a POS should be used
for this item at the
location. Valid values
are in the code_type
RPO. Current values
include R - required, P
- Prohibited, and O -
Optional. Additional
values can be added to
the code type as
needed. This value will
be downloaded to the
POS as needed.

Table 5-463 (Cont.) MerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
manualPriceEntryNoString (6)Determines whether
the price can/should
be entered manually
on a POS for this item
at the location. Valid
values are in the
code_type RPO.
Current values include
R - required, P -
Prohibited, and O -
Optional. Additional
values can be added or
removed as needed.
This value will be
downloaded to the
POS.
depositCodeNoString (6)This feld indicates
whether a deposit is
associated with this
item at the location.
Valid values are in the
code_type DEPO.
Additional values may
be added or removed
as needed. The only
processing in
Merchandising
involving the deposit
code is downloading it
to the POS. Deposits
are not subtracted
from the retail of an
item uploaded to
Merchandising, etc.
This kind of processing
is the responsibility of
the client and should
occur before sales are
sent to any Oracle
Retail application.
foodStampIndNoString (1)This feld indicates
whether the item is
approved for food
stamps at the location.
This value will be
downloaded to the
POS.
wicIndNoString (1)This feld indicates
whether the item is
approved for WIC at
the location. This
value will be
downloaded to the
POS.

Table 5-463 (Cont.) MerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
proportionalTarePerce
nt
NoNumber(12,4)This feld holds the
value associated with
the packaging in items
sold by weight at the
location. The
proportional tare is
the proportion of the
total weight of a unit
of an item that is
packaging (i.e. if the
tare item is bulk
candy, this is the
proportion of the total
weight of one piece of
candy that is the candy
wrapper). The only
processing
Merchandising does
involving the
proportional tare
percent is
downloading it to the
POS. Proportional tare
is not subtracted from
items sold by weight
when sales are
uploaded to
Merchandising, etc.
This kind of processing
is the responsibility of
the client and should
occur before sales are
sent to any Oracle
Retail application.

Table 5-463 (Cont.) MerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fxedTareValueNoNumber(12,4)This feld holds the
value associated with
the packaging in items
sold by weight at the
location. Fixed tare is
the tare of the
packaging used (i.e. if
the tare item is bulk
candy, this is the
weight of the bag and
twist tie). The only
processing
Merchandising does
involving the fxed
tare value is
downloading it to the
POS. Fixed tare is not
subtracted from items
sold by weight when
sales are uploaded to
Merchandising, etc.
This kind of processing
is the responsibility of
the client and should
occur before sales are
sent to any Oracle
Retail application.
fxedTareUomNoString (4)This feld holds the
unit of measure value
associated with the
tare value. The only
processing
Merchandising does
involving the fxed
tare value and UOM is
downloading it to the
POS. Fixed tare is not
subtracted from items
sold by weight when
sales are uploaded to
Merchandising, etc.
This kind of processing
is the responsibility of
the client and should
occur before sales are
sent to any Oracle
Retail application.

Table 5-463 (Cont.) MerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
rewardEligibleIndNoString (1)This feld holds
whether the item is
legally valid for
various types of bonus
point/award programs
at the location. This
value will be
downloaded to the
POS.
nationalBrandCompeti
torItem
NoString (25)This feld holds the
nationally branded
item to which you
would like to compare
the current item. This
nationally branded
item must exist as an
item in Merchandising
(i.e. on the
item_master table).
returnPolicyNoString (6)This feld contains the
return policy for the
item at the location.
stopSaleIndNoString (1)This feld indicates
that sale of the item
should be stopped
immediately at the
location (i.e. in case of
recall etc). This value
will be downloaded to
the POS.
electronicMarketClubsNoString (6)This feld holds the
code that represents
the marketing clubs to
which the item
belongs at the location.
Valid values can
belong to the
code_type MTKC.
Additional values can
be added or removed
from the code type as
needed. This value will
be downloaded to the
POS.

Table 5-463 (Cont.) MerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
reportCodeNoString (6)This feld contains the
code to determine
which reports the
location should run.
Valid values are
defned in the code
type REPC. Values may
be added and removed
as necessary. This feld
is not required. No
Merchandising
processing is based on
the value in this feld.
It is the client’s
responsibility to
communicate this
value to external
systems that may need
it for processing.
requiredShelfLifeOnSe
lection
NoNumber(4,0)This feld holds the
required shelf life for
an item on selection in
days. This feld is not
required. No
Merchandising
processing is based on
the value in this feld.
It is the client’s
responsibility to
communicate this
value to external
systems that may need
it for processing.
requiredShelfLifeOnRe
ceipt
NoNumber(4,0)This feld holds the
required shelf life for
an item on receipt in
days. This feld is not
required. No
Merchandising
processing is based on
the value in this feld.
It is the client’s
responsibility to
communicate this
value to external
systems that may need
it for processing.

Table 5-463 (Cont.) MerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeReorderableIndNoString (1)This feld indicates
whether the store may
re-order the item. This
feld is required to be
either Y - yes or N - no.
The feld will default
to N. No
Merchandising
processing is based on
the value in this feld.
It is the client’s
responsibility to
communicate this
value to external
systems that may need
it for processing.
rackSizeNoString (6)This feld indicates the
rack size that should
be used for the item.
This feld is not
required. Valid values
for the feld can be
found and defned in
the code_type RACK.
No Merchandising
processing is based on
the value in this feld.
It is the client’s
responsibility to
communicate this
value to external
systems that may need
it for processing.
fullPalletItemNoString (1)This feld indicates
whether a store must
reorder an item in full
pallets only. This feld
is required to be either
Y - yes or N - no. The
feld will default to N.
No Merchandising
processing is based on
the value in this feld.
It is the client’s
responsibility to
communicate this
value to external
systems that may need
it for processing.

Table 5-463 (Cont.) MerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
inStoreMarketBasketNoString (6)This feld holds the in
store market basket
code for this item/
location combination.
Valid values for the
feld can be found in
the code_type STMB.
No Merchandising
processing is based on
the value in this feld.
It is the client’s
responsibility to
communicate this
value to external
systems that may need
it for processing.
storageLocationNoString (7)This feld holds the
current storage
location or bin
number for the item at
the location. No
Merchandising
processing is based on
the value in this feld.
It is the client’s
responsibility to
communicate this
value to external
systems that may need
it for processing.
alternateStorageLocati
on
NoString (7)This feld holds the
preferred alternate
storage location or bin
number for the item at
the location. No
Merchandising
processing is based on
the value in this feld.
It is the client’s
responsibility to
communicate this
value to external
systems that may need
it for processing.
returnableIndNoString (1)This feld contains a
value of Yes when the
item can be returned
to the location.
refundableIndNoString (1)This feld contains a
value of Yes when the
item is refundable at
the location.

Table 5-463 (Cont.) MerchApiItemLoc - Object. See list of elements for detail

Element NameRequiredData TypeDescription
backOrderIndNoString (1)This feld contains a
value of Yes when the
item can be back
ordered to the
location.
promotableIndNoString (1)This attribute, which
has valid values of Y
or N, determines
whether or not the
item can be promoted.
This fag will be sent to
the selling solutions
(e.g. POS, OMS) to help
their pricing engines
know whether or not
to include this item
location in the items
eligible for a specifc
promotion. This new
attribute is intended to
be used for item-
location combinations
that are never
promoted so that users
setting up promotions
do not need to specify
them as exclusions on
the promotion.
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
customFlexAttributeNoCollection of ObjectThis List holds custom
fex attributes for the
item-location.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the item-location
record was last
maintained.
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication.

Table 5-464 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-465 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"item": "100100076",
"itemLevel": 1,
"tranLevel": 1,
"location": 1,
"locationType": null,
"status": null,
"physicalWarehouse": 1,
"storeType": null,
"stockholdingInd": null,
"localItemDescription": "localItemDesc",
"localShortDescription": "localShortDesc",
"primarySupplier": 2400,
"primaryCountry": null,
"unitCost": 9.65,
"costUom": "EA",
"purchaseType": 1,
"calculationBasis": null,
"purchaseRate": 3,
"pricingControl": "R",
"receiveAsType": null,
"taxableInd": "Y",
"sourceMethod": null,
"sourceWarehouse": 1,
"unitRetail": 1.0,
"sellingUnitRetail": 1.0,
"sellingUom": null,
"storePriceInd": null,
"uinType": null,
"uinLabel": null,
"captureTime": null,
"externalUinInd": "Y",
"rangedInd": "Y",
"itemParent": null,
"itemGrandparent": null,
"ti": 3,
"hi": 3,
"storeOrderMultiple": null,
"dailyWastePercent": 3,
"measureOfEach": 2,
"measureOfPrice": 1,
"uomOfPrice": "EA",
"primaryVariant": "100100090",
"primaryCostPack": "100100080",
"inboundHandlingDays": 1,
"regularUnitRetail": 1.0,
"multiUnits": 1.0,
"multiUnitRetail": 1.0,
"multiSellingUom": null,
"clearanceInd": null,
"costingLocation": 199,
"costingLocationType": null,
"currencyCode": null,
"pickupLeadTime": 1,
"rfidInd": "Y",
"primaryReplenishmentSupplier": 1,
"replenishmentMethod": null,
"rejectStoreOrderInd": null,
"nextDeliveryDate": "2001-12-31",
"multipleReplenishmentsPerDayInd": null,
"launchDate": "2001-12-31",
"quantityKeyOptions": null,
"manualPriceEntry": null,
"depositCode": null,
"foodStampInd": "Y",
"wicInd": "Y",
"proportionalTarePercent": 3,
"fixedTareValue": 3,
"fixedTareUom": "EA",
"rewardEligibleInd": "Y",
"nationalBrandCompetitorItem": null,
"returnPolicy": null,
"stopSaleInd": "Y",
"electronicMarketClubs": null,
"reportCode": null,
"requiredShelfLifeOnSelection": 1,
"requiredShelfLifeOnReceipt": 1,
"storeReorderableInd": "Y",
"rackSize": null,
"fullPalletItem": null,
"inStoreMarketBasket": null,
"storageLocation": null,
"alternateStorageLocation": null,
"returnableInd": "Y",
"refundableInd": "Y",
"backOrderInd": "Y",
"promotableInd": "Y",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ITEM_LOCYesNoNoNo
ITEM_MASTERYesNoNoNo
ITEM_LOC_TRAITSYesNoNoNo
ITEM_SUPP_COUNTRY_LOCYesNoNoNo
REPL_ITEM_LOCYesNoNoNo
MERCHAPI_ITEM_LOCYesYesYesYes
V_MERCHAPI_ITEM_LOC_JSONYesNoNoNo
ICL_RMS_ITEM_LOCYesNoYesYes
ICL_RMS_REPL_ITEM_LOCYesNoYesYes
MERCHAPI_EXT_ITEM_LOC_CFAYesYesNoYes
Get Item Location Basic Details
Functional Area
Items
Business Overview

Retrieves basic item-location details for the specified items and locations. Provide a commaseparated list of up to 10 item IDs and a comma-separated list of up to 10 location IDs. The service returns the matching records from ITEM_LOC table. If no matching item-location combinations are found, the request succeeds and the response contains no records.

Service Type
GET
ReST URL
RmsReSTServices/services/private/Item/itemLocationDetail
Input Parameters
Parameter NameRequiredData TypeDescription
itemsYesStringUp to 10 comma-
separated item IDs. No
whitespace.
locationsYesStringUp to 10 comma-
separated numeric
location IDs. No
whitespace.

Response Code: 200 (Success)

Table 5-466 ItemLocation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemNoString (25)Unique alphanumeric
value that identifes
the item.
locationNoNumber(10,0)Numeric identifer of
the location where the
item is ranged. The
location can be a store,
warehouse, or external
fnisher.
locationTypeNoString (1)Type of location in the
location feld. Valid
values are S (Store), W
(Warehouse), and E
(External Finisher).
statusNoString (1)Current status of the
item at the location.
Valid values are A
(Active), I (Inactive), C
(Discontinued), and D
(Deleted).
unitRetailNoNumber(20,4)Unit retail price for the
item-location
combination in the
standard unit of
measure. The value is
stored in the local
currency.
sellingUnitRetailNoNumber(20,4)Unit retail price for the
item-location
combination in the
selling unit of
measure. The value is
stored in the local
currency.
sellingUomNoString (4)Selling unit of measure
used for the item’s
single-unit retail.
clearanceIndNoString (1)Indicates whether the
item is on clearance at
the location. Valid
values are Y (Yes) and
N (No).
localItemDescriptionNoString (250)Local description of
the item. This value
defaults to the item
description and can be
overridden for the
location.
Sample Response Message
[
{
"item": "211001211",
"location": 10000089,
"locationType": "S",
"status": "A",
"unitRetail": 19.95,
"sellingUnitRetail": 19.95,
"sellingUom": "EA",
"clearanceInd": "N",
"localItemDescription": "Graphic T-shirt - Red"
}
]
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}
Get Item VAT Details

Endpoints

MerchIntegrations/services/foundation/item/vat
MerchIntegrations/services/foundation/item/vat/{item}
Functional Area

Items - Item Definition

Business Overview

This service publishes item VAT data to downstream consuming systems. The payload includes the item, VAT region, active date, VAT type, VAT code, VAT rate, reverse-VAT indicator, and audit timestamps. Functionally, the JSON view publishes only approved transaction-level items because it requires ITEM_MASTER.STATUS = ‘A’ and ITEM_MASTER.ITEM_LEVEL = ITEM_MASTER.TRAN_LEVEL.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: VAT_ITEM, ITEM_MASTER

Additional business tables: none

JSON cache table: MERCHAPI_EXT_ITEM_VAT

JSON generation view: V_MERCHAPI_EXT_ITEM_VAT_JSON

The JSON view is built from VAT_ITEM joined to ITEM_MASTER, and it publishes the item key, VAT region, active date, VAT type, VAT code, VAT rate, reverse-VAT indicator, and audit timestamps.

The view only publishes rows where the item is approved and transaction-level because it requires ITEM_MASTER.STATUS = ‘A’ and ITEM_MASTER.ITEM_LEVEL = ITEM_MASTER.TRAN_LEVEL.

Initial refresh supports both truncate-and-load and rebuild behavior, and rebuild marks cache rows deleted when an item no longer resolves in the JSON view.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_EXT_ITEM_VAT_JSON and apply ITEM_MASTER.STATUS = ‘A’ and ITEM_MASTER.ITEM_LEVEL = ITEM_MASTER.TRAN_LEVEL.

Mark cache rows deleted when the item no longer exists in V_MERCHAPI_EXT_ITEM_VAT_JSON for the current thread.

ICL (Integration Change Log) table: ICL_RMS_VAT_ITEM (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on VAT_ITEM, ITEM_MASTER.

Item Approval Handling

On item approval, the main item publish flow writes existing VAT_ITEM rows for the item to ICL_RMS_VAT_ITEM so this API is also queued when the item becomes approved. VAT rows are not staged through this path while the item remains in worksheet or submitted status.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_ITEM_VAT

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_ITEM_VAT_ADHOC_PROCESS MERCHAPI_EXT_ITEM_VAT_ADHOC_JOB

Webhook configuration api name: foundation/item/vat

Special handling

Additional GET query parameters: item, vatRegion, activeDate, vatType.

Performance Considerations

For customers expecting high to very high publish volume from this API, sizing and operational tuning should be addressed early in the implementation lifecycle. Initial cache seeding, ongoing delta processing, full extracts, and incremental downloads or webhook-driven delivery have different runtime characteristics and should be evaluated separately. The available configuration for this service should therefore be reviewed and validated against the customer production data profile, including expected volume, message size, and access pattern, with the key performance-related configuration for this service covering the following:

Multi-threading and commit control

This service supports multi-threaded execution for initial seeding, while delta processing remains single-threaded. Initial-seeding thread count is controlled through API_REFRESH_OVERRIDE_NO_OF_THREADS, and initial-seeding commit sizing is controlled through API_REFRESH_OVERRIDE_COMMIT_MAX_COUNTER.

For initial seeding, thread and commit settings should be chosen together based on expected row volume, average message size, and the simpler VAT_ITEM and ITEM_MASTER join used to build the payload. Common starting points for large-volume seeding are 8, 16, or 32 threads. The delivered refresh override is currently 4 threads.

Refresh commit sizing should be reviewed together with the thread setting. Typical values can range from 1,000 rows or higher values such as 10,000. The delivered refresh override commit setting is currently 5000.

Dropping indexes and constraints during seeding

This option applies only to initial seeding, including truncate-and-load execution. Even with refresh-override threading, larger parallel insert volumes can increase index maintenance overhead and slow the load.

To reduce that overhead, DROP_INDEX_ON_REFRESH can be enabled so indexes and constraints are dropped before seeding and rebuilt after the load completes.

This can improve data-load throughput, but the overall refresh plan should also account for the additional time needed for index rebuild after the seeding step finishes. GATHER_STATS_ON_REFRESH should normally remain enabled unless testing shows a need to change it.

REST fetch considerations

Because the payload is relatively narrow, larger page-limit values are often practical after testing. REST page size should still be selected so that the average response remains below about 10 MB per call, using common page-limit values such as 1,000, 5,000, or 10,000 rows.

For full downloads, do not provide the since query parameter so the database can favor the primary-key access path. For delta downloads, use a small time window, typically a few minutes and at most a few hours, so the eligible row set on the LAST_UPDATE_DATETIME index remains small.

Wider delta windows, especially multi-day windows that can arise during outages or data recovery, generally do not perform well. For such scenarios, keeping BUILD_HISTOGRAM enabled allows the service to support recovery through smaller, more selective polling windows using the optimalBefore query parameter.

In this catch-up pattern, for requests up to 30 days in the past, the client provides optimalBefore and leaves before empty. The client then uses the returned before timestamp to continue polling incrementally until the backlog is cleared, and then resumes the normal shortwindow delta pattern. Hourly histogram processing groups LAST_UPDATE_DATETIME values into buckets of 10,000 rows in MERCHAPI_TIMESTAMP_HISTOGRAM using the shared HISTOGRAM_ROW_COUNT configuration.

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/item/vat

MerchIntegrations/services/foundation/item/vat/{item}

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
itemNoStringItem
vatRegionNoString (4)VAT Region
activeDateNoStringActive Date format
required: YYYY-MM-
DD
vatTypeNoStringVAT Type
offsetkeyNoStringOffset key ([item],[vat
region],[active date],
[vat type] Example:
Cross_1001,1000,2020-
10-22,R)
limitNoString (6)Pagination limit.
Default value is 1000.
optimalBeforeNoStringEnables histogram-
based calculation of
the before timestamp
when before is not
provided. Valid values
are Y or N. Default
value is N.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-467 Input Parameter for “MerchIntegrations/services/foundation/item/vat/ {item}“

Parameter NameRequiredData TypeDescription
itemYesString
offsetkeyNoStringOffset key ([item],[vat
region],[active date],
[vat type] Example:
Cross_1001,1000,2020-
10-22,R)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-468 PageResultsItemsMerchApiItemVat - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-469 MerchApiItemVat - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for item VAT
details.
itemNoString (25)This feld contains the
unique number that
identifes an item.
vatRegionNoNumber(4,0)This feld contains the
number of the Value
Added Tax region a
location belongs to.
activeDateNodateThis feld contains the
date that the VAT rate
became active for the
item/VAT region
combination.
vatTypeNoString (1)This feld indicates the
type of VAT. Valid
values include R
(Retail), C (Cost), B
(Both).
vatCodeNoString (6)This feld contains the
alphanumeric
identifcation for the
VAT code.
vatRateNoNumber(20,10)This feld contains the
VAT rate for the item/
location.
reverseVatIndNoString (1)This feld indicates if
the item is subject to
reverse charge VAT at
the VAT region. Valid
values are Y and N.
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the item VAT record
was fetched into the
cache for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-470 LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description href No String Service URL rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "item": "100100076", "vatRegion": 1000, "activeDate": "2001-12-31", "vatType": "R", "vatCode": "S", "vatRate": 1.0, "reverseVatInd": "N", "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z", "cacheTimestamp": "2001-12-31T23:59:59.000Z", "cacheCreateTimestamp": "2001-12-31T23:59:59.000Z" } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
VAT_ITEMYesNoNoNo
ITEM_MASTERYesNoNoNo
MERCHAPI_EXT_ITEM_VATYesYesYesYes
V_MERCHAPI_EXT_ITEM_VAT_JSONYesNoNoNo
ICL_RMS_VAT_ITEMYesNoYesYes
Get Item VAT Details by Item Number
Endpoints
MerchIntegrations/services/foundation/item/vat
MerchIntegrations/services/foundation/item/vat/{item}
Functional Area
Items
Business Overview

This service can be used by external applications to retrieve VAT information for all or selected items from Merchandising.

Service Type
GET
ReST URL
/MerchIntegrations/services/foundation/vat/item?
item={item}&vatRegion={vatRegion}&activeDate={activeDate}&vatType={vatType}&of
fsetkey={offsetkey}&limit={limit}&since={since}&before={before}
/MerchIntegrations/services/foundation/item/vat/{item}
Input Parameters

Table 5-471 /MerchIntegrations/services/foundation/item/vat

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date.
Format:yyyy-mm-
dd"T"hh24:mi:ss.fftzh:tzm
beforeNoStringBefore Date.
Format:yyyy-mm-
dd"T"hh24:mi:ss.fftzh:tzm
itemNoStringItem Number.
vatRegionNoNumberVat Region.

Table 5-471 (Cont.) /MerchIntegrations/services/foundation/item/vat

Parameter NameRequiredData TypeDescription
activeDateNoStringActive date for item VAT on future cost.
Format:YYYY-MM-DD
vatTypeNoStringVAT Type.
Valid values areR- Retail,C- Cost,B- Both.
offsetkeyNoStringOffset Key. Valid Value is an Item ID.
limitNoBigDecimalPagination limit. Default Value is1000.

Table 5-472 /MerchIntegrations/services/foundation/item/vat/{item}

Parameter NameRequiredData TypeDescription
itemYesNumberItem Number.

Output

NameData TypeDescription
actionStringAction for Item VAT details. Valid Values
are INSERT, UPDATE and DELETE.
itemStringThis feld holds the ID of the item.
vatRegionNumberThis feld contains the number of the
Value Added Tax region a location
belongs to.
activeDateStringThis feld holds the active date for record
on future cost.
vatTypeStringThis feld indicates the type of VAT. Valid
values include R (Retail), C (Cost), B
(Both).
vatCodeStringThis feld contains the alphanumeric
identifcation for the VAT code.
vatRateNumberThis feld contains the VAT rate for the
item-location.
reverseVatIndStringThis feld contains the VAT rate for the
item-location.
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record
was last updated.
cacheTimestampStringThis feld specifes date and time when
the item VAT record was last maintained.
Elements in JSON Output

Elements Description items The first element is named as items and contains a number of child elements. Each child element corresponds to a row in the result set generated by the query.

ElementsDescription
hasMoreThis is dependent on limit value. If the total rows are more
than the limit defned, then hasMore will be set to true
else false.
limitThis is used to limit the rows to control the paging of result
data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists, then 25 rows are
returned along with a “next” link else no links would be
added to the JSON response.
links“self”: This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON input:
"{
  "items": [
    {
      "action": null,
      "item": "104900054",
      "vatRegion": 1000,
      "activeDate": "2021-10-01",
      "vatType": "B",
      "vatCode": "S",
      "vatRate": 10,
      "reverseVatInd": "N",
      "createDateTime": "2022-03-29T10:07:45.000Z",
      "updateDateTime": "2022-03-29T10:07:45.000Z",
      "cacheTimestamp": "2022-03-29T12:32:58.009Z"
    }
  ],
  "hasMore": false,
  "limit": 10000,
  "count": 1,
  "links": null
}"
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
VAT_ITEMYesNoNoNo
ITEM_MASTERYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
MERCHAPI_EXT_ITEM_VATYesYesYesYes
V_MERCHAPI_EXT_ITEM_VAT_JSONYesNoNoNo
ICL_RMS_VAT_ITEMYesNoYesYes

Item ELC Upload Service

The following services are included in this functional area:

  • Create Item Conditional Tariff Treatments

  • Create Item Expenses

  • Create Item HTS

  • Create Item HTS Assessments

  • Delete Item Conditional Tariff Treatments

  • Delete Item Expenses

  • Delete Item HTS

  • Delete Item HTS Assessments

  • Update Item Expenses

  • Update Item HTS

  • Update Item HTS Assessments

Create Item Conditional Tariff Treatments

Functional Area

Items - Item Definition
Business Overview

Tariff Treatments, also known as Special Programs, are used to determine the applicable duty to be assessed when importing goods into a particular country. Tariff treatments may or may not be conditional. A conditional tariff treatment indicates that only certain types of goods will be eligible for the special rates. When import items are defined in the system, the user must indicate for which conditional tariff treatments the item is eligible.

This service allows the user to add one or more conditional tariff treatments to an item that is at or above the transaction level, including vendor packs.

Recalculate Orders
  • The Recalculate Orders parameter can be passed in as Yes ( Y ) or No ( N ) when a conditional tariff treatment is being added to or removed from an item. Adding and removing conditional tariff treatments to or from an item changes the item’s eligibility for the tariff treatment which may result in a different duty rate. This parameter provides a way to indicate whether or not open orders should be recalculated.

  • When Recalculate Orders is passed in as Yes ( Y ) on a ‘Create’ or ‘Delete’, after successful creation or deletion of the item conditional tariff treatment record, during the nightly batch run, the system searches for and recalculates all the order/item/HTS/assessments for the item followed by all expenses for all locations for the same item in order to update the value of any expenses that are based on assessment values, where the order/item or order/item/location has no receipts and the order is not closed.

  • When Recalculate Orders is passed in as Yes ( Y ) on a parent item, then all child items will be queued for order/item recalculation.

Service Type

POST

ReST URL

MerchIntegrations/services/item/conditionalTariffTreatments/create
Availability During Nightly Batch Cycle

This service will not be available when batches that affect costs are in-progress.

Input Payload Details

Table 5-473 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-474 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main item
on the message.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values areRMSor
STG. If not defned, the default isSTG.
conditionalTariffTreatmentNoCollection of
Object
Child node.

Table 5-475 ConditionalTariffTreatment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
tariffTreatmentYesString (10)The unique identifer for the
Conditional Tariff Program code. This
refers to thetariff_treatmentfeld
fromtariff_treatmenttable which
are conditional. Example values are -
CA(NAFTA for Canada CA),A+
(Generalized System of Preferences
A+).
recalculateOrderIndNoString (1)The optional feld indicates if open
orders associated with the item should
have assessments and expenses
recalculated.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "dataLoadingDestination": "RMS",
      "conditionalTariffTreatment": [
        {
          "tariffTreatment": "CA",
          "recalculateOrderInd": "Y"
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Create Item Expenses

Functional Area

Items - Item Definition

Business Overview

This service is used to add expenses to an existing item in Merchandising. Expenses can also be created together with the creation of a new item. For more details on item creation, see the Create Items service description.

Service Type
POST
ReST URL
MerchIntegrations/services/item/expenses/create
Availability During Nightly Batch Cycle

This service will not be available when batches that affect costs are in-progress.

Input Payload Details

Table 5-476 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-477 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
expenseNoCollection of
Object
References a collection of item
expenses.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-478 Expense - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesNumber (10)The unique identifer for the supplier.
componentIdYesString (10)The code representing the specifc
expense component.
dischargePortYesString (5)The port where the item will enter
the importing country.
originCountryNoString (3)The country where the item was
manufactured or signifcantly
altered.
ladingPortNoString (5)The fnal destination lading port of
the item if the Expense Type is
Country.
costZoneIdNoNumber (10)The fnal destination zone of the item
if the Expense Type is Zone.

Table 5-478 (Cont.) Expense - Object. See list of elements for detail

Element NameRequiredData TypeDescription
costZoneGroupIdNoNumber (4)This feld holds the items Zone Group,
it is stored here for performance
reasons.
baseExpenseIndNoString (1)Indicates whether or not this Set of
Expenses is also the base Set of
Expenses.
computationValueBaseNoString (10)The Computation Value Base
representing the base value for
calculating the expense.
componentRateNoNumber
(20,4)
The rate to be charged against the
calculation base. This feld will hold a
percentage value if the Calculation
basis of the Component is Value or a
monetary amount if the Calculation
Basis is Specifc.
perCountNoNumber
(12,4)
A count indicating the amount of the
Per Count Unit of Measure to which
the rate applies. This column is only
used for specifc (per-unit) expenses.
perCountUomNoString (4)The unit of measure in which the Per
Count is specifed. This column is only
used from specifc (per-unit)
expenses.
componentCurrencyNoString (3)Contains the currency the expense is
to be entered in. If the Calculation
Basis is V (Value), then the
comp_currency will be NULL.
updateOrdersIndNoString (1)Indicates that new changes will be
refected to associated order-location
expense record.
nominationFlag1NoString (1)This feld contains a fag that is used
to indicate if the value of the cost
component should be included in the
calculation of another. Nomination
fags are used to calculate the value
of a Computation Value Base (CVB)
which has the corresponding
nomination fag set to Yes (Y). Valid
values are: N/A (N) (the value of this
component will not be included in
CVBs which look at Nomination Flag
1), Add (+) (the value of this
component will be added to CVBs
which look at Nomination Flag 1),
and Subtract (-) (the value of this
component will be deducted from
CVBs which look at Nomination Flag
1). For example, if cost component
ABC has a + in Nomination Flag 1,
then all CVBs that include
Nomination Flag 1 will include this
cost component value in their
calculation basis.

Table 5-478 (Cont.) Expense - Object. See list of elements for detail

Element NameRequiredData TypeDescription
inDutyNoString (1)If Import Management is enabled in
Merchandising (i. e. system_options.
import_ind = Y), the inDuty fag is
used to indicate if the value of the
cost component should be included in
total duty.
nominationFlag3NoString (1)This feld contains a fag that is used
to indicate if the value of the cost
component should be included in the
calculation of another. Nomination
fags are used to calculate the value
of a Computation Value Base (CVB)
which has the corresponding
nomination fag set to Yes (Y). Valid
values are: N/A (N) (the value of this
component will not be included in
CVBs which look at Nomination Flag
3), Add (+) (the value of this
component will be added to CVBs
which look at Nomination Flag 3),
and Subtract (-) (the value of this
component will be deducted from
CVBs which look at Nomination Flag
3). For example, if cost component
ABC has a + in Nomination Flag 3,
then all CVBs that include
Nomination Flag 3 will include this
cost component value in their
calculation basis.
inExpenseNoString (1)The inExpense fag is used to indicate
if the value of the cost component
should be included in total expenses.
inAlcNoString (1)The inALC fag is used for cost
components where the retailer does
not expect to receive an actual value
for the charge via an obligation or
customs entry. The inALC fag allows
the value of the cost component to be
included in ALC via direct
nomination and indicates to the
system that the estimated value on
the order should be used as the actual
value as well because no other actual
will be provided.

Table 5-479 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-480 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "dataLoadingDestination": "RMS",
      "expense": [
        {
          "supplier": 2400,
          "componentId": "AGCOMM",
          "dischargePort": "480",
          "originCountry": "US",
          "ladingPort": "7",
          "costZoneId": 696323,
          "costZoneGroupId": 1000,
          "baseExpenseInd": "N",
          "computationValueBase": null,
          "componentRate": 3.55,
          "perCount": 1,
          "perCountUom": "EA",
          "componentCurrency": "USD",
          "updateOrdersInd": "Y",
          "nominationFlag1": "N",
          "inDuty": "N",
          "nominationFlag3": "N",
          "inExpense": "+",
          "inAlc": "N"
        }
      ],
      "localizationExtensions": [
        {
          "country": "BR",
          "attributes": [
            {
              "name": "SPECIAL_CATEGORY_CODE",
              "value": "WS_PRC_08",
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Create Item HTS

Functional Area

Items - Item Definition

Business Overview

This service is used to add HTS and Assessments to an existing item in Merchandising. HTS and Assessments can also be created together with the creation of a new item. For more details on item creation, see the Create Items service description.

Service Type

POST

ReST URL

MerchIntegrations/services/item/hts/create
Availability During Nightly Batch Cycle

This service will not be available when batches that affect costs are in-progress.

Input Payload Details

Create - Object. See list of elements for detail

Items - Object. See list of elements for detail

Hts - Object. See list of elements for detail

Assessments - Object. See list of elements for detail

LocalizationExtensions - Object. See list of elements for detail

Attributes - Object. See list of elements for detail

Response Code: 200 (Success)

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Create Item HTS Assessments
Functional Area

Items - Item Definition

Business Overview

This service is used to add HTS Assessments to an existing item in Merchandising. HTS Assessments can also be created together with the creation of a new item. For more details on item creation, see the Create Items service description.

Service Type

POST

ReST URL
MerchIntegrations/services/item/hts/assessments/create
Availability During Nightly Batch Cycle

This service will not be available when batches that affect costs are in-progress.

Input Payload Details

Create - Object. See list of elements for detail

Items - Object. See list of elements for detail

Hts - Object. See list of elements for detail

Assessments - Object. See list of elements for detail

LocalizationExtensions - Object. See list of elements for detail

Attributes - Object. See list of elements for detail

Response Code: 200 (Success)

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Delete Item Conditional Tariff Treatments

Functional Area

Items - Item Definition

Business Overview

Tariff Treatments, also known as Special Programs, are used to determine the applicable duty to be assessed when importing goods into a particular country. Tariff treatments may or may

not be conditional. A conditional tariff treatment indicates that only certain types of goods will be eligible for the special rates. When import items are defined in the system, the user must indicate for which conditional tariff treatments the item is eligible.

This service will allow the user to add one or more conditional tariff treatments to an item that is at or above the transaction level, including vendor packs.

Recalculate Orders
  • The Recalculate Orders parameter can be passed in as Yes ( Y ) or No ( N ) when a conditional tariff treatment is being added to or removed from an item. Adding and removing conditional tariff treatments to or from an item changes the item’s eligibility for the tariff treatment which may result in a different duty rate. This parameter provides a way to indicate whether or not open orders should be recalculated.

  • When Recalculate Orders is passed in as Yes ( Y ) on a ‘Create’ or ‘Delete’, after successful creation or deletion of the item conditional tariff treatment record, during the nightly batch run, the system will search for and recalculate all the order/item/HTS/assessments for the item followed by all expenses for all locations for the same item in order to update the value of any expenses that are based on assessment values, where the order/item or order/item/location has no receipts and the order is not closed.

  • When Recalculate Orders is passed in as Yes ( Y ) on a parent item, then all child items will be queued for order/item recalculation.

Service Type

DELETE

ReST URL
MerchIntegrations/services/item/conditionalTariffTreatments/delete
Availability During Nightly Batch Cycle

This service will not be available when batches that affect costs are in-progress.

Input Payload Details

Table 5-481 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-482 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer for the item.
conditionalTariffTreatmentNoCollection of
Object
Child node.

Table 5-483 ConditionalTariffTreatment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
tariffTreatmentYesString (10)The code representing the Conditional
Tariff Program code to be deleted. This
refers to thetariff_treatmentfeld
fromtariff_treatmenttable which
are conditional. Example values are -
CA(NAFTA for Canada CA),A+
(Generalized System of Preferences
A+).
recalculateOrderIndNoString (1)The optional feld indicates if open
orders associated with the item should
have assessments and expenses
recalculated.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "conditionalTariffTreatment": [
        {
          "tariffTreatment": "CA",
          "recalculateOrderInd": "Y"
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Item Expenses

Functional Area

Items - Item Definition

Business Overview

This service is used to delete any expenses that are associated with an item in Merchandising. In order to perform this deletion, the item/supplier/component ID/discharge port must exist for the item in Merchandising, else an error will be returned.

Service Type

DELETE

ReST URL
MerchIntegrations/services/item/expenses/delete

Input Payload Details

Table 5-484 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-485 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer for the item.
expenseNoCollection ofReferences a collection of item
Objectexpense.

Table 5-486 Expense - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesNumber (10)The supplier affected by the deletion
activity.
componentIdYesString (10)The code representing the specifc
expense component to be deleted.
dischargePortYesString (5)The port where the item will enter
the importing country.

Table 5-486 (Cont.) Expense - Object. See list of elements for detail

Element NameRequiredData TypeDescription
originCountryNoString (3)The country where the item was
manufactured or signifcantly
altered.
ladingPortNoString (5)The fnal destination lading port of
the item if the Expense Type is
Country.
costZoneIdNoNumber (10)The fnal destination zone of the item
if the Expense Type is Zone.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "expense": [
        {
          "supplier": 2400,
          "componentId": "ORDCST",
          "dischargePort": "480",
          "originCountry": "US",
          "ladingPort": "7",
          "costZoneId": 696323
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Item HTS

Functional Area

Items - Item Definition

Business Overview

This service is used to delete any Harmonized Tariff Schedule (HTS) that is linked with an item within Merchandising. In order to perform the deletion, the record to be deleted must exist in Merchandising, else an error will be returned.

Service Type

DELETE

ReST URL

MerchIntegrations/services/item/hts/delete
Availability During Nightly Batch Cycle

This service will not be available when batches that affect costs are in-progress.

Input Payload Details

Table 5-487 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-488 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer for the item.
htsNoCollection of
Object
References a collection of item hts.

Table 5-489 Hts - Object. See list of elements for detail

Element NameRequiredData TypeDescription
htsYesString (25)The unique identifer for the
Harmonized Tariff Schedule code.
importCountryYesString (3)The unique identifer for the country
that the item will be imported into.

Table 5-489 (Cont.) Hts - Object. See list of elements for detail

Element NameRequiredData TypeDescription
originCountryYesString (3)The country where the item was
manufactured or signifcantly
altered.
effectFromYesdateThe date from which the Item/HTS
relationship is valid. This feld is used
to maintain historical information
related to the Item/HTS relationship.
effectToYesdateThe date until when the Item/HTS
relationship is valid. This feld is used
to maintain historical information
related to the item/HTS relationship.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "hts": [
        {
          "hts": "9014111112",
          "importCountry": "US",
          "originCountry": "CA",
          "effectFrom": "2001-12-31",
          "effectTo": "2001-12-31"
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Item HTS Assessments

Functional Area

Items - Item Definition

Business Overview

This service is used to delete any assessments that are associated with an existing item HTS record within Merchandising.

Service Type

DELETE

ReST URL
MerchIntegrations/services/item/hts/assessments/delete
Availability During Nightly Batch Cycle

This service will not be available when batches that affect costs are in-progress.

Input Payload Details

Table 5-490 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-491 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer for the item.
htsNoCollection of
Object
References a collection of item hts.

Table 5-492 Hts - Object. See list of elements for detail

Element NameRequiredData TypeDescription
htsYesString (25)The unique identifer for the
Harmonized Tariff Schedule code.
importCountryYesString (3)The unique identifer for the country
that the item will be imported into.

Table 5-492 (Cont.) Hts - Object. See list of elements for detail

Element NameRequiredData TypeDescription
originCountryYesString (3)The country where the item was
manufactured or signifcantly
altered.
effectFromYesdateThe date from which the Item/HTS
relationship is valid. This feld is used
to maintain historical information
related to the Item/HTS relationship.
effectToYesdateThe date until when the Item/HTS
relationship is valid. This feld is used
to maintain historical information
related to the item/HTS relationship.
assessmentsNoCollection of
Object
References a collection of
assessments associated to the item
HTS.

Table 5-493 Assessments - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentIdYesString (10)The code representing the specifc
assessment component to be deleted.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "106150023",
      "hts": [
        {
          "hts": "9014111112",
          "importCountry": "US",
          "originCountry": "CA",
          "effectFrom": "2001-12-31",
          "effectTo": "2001-12-31",
          "assessments": [
            {
              "componentId": "DTYCAUS"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Update Item Expenses

Functional Area

Items - Item Definition

Business Overview

This service is used to update one or more expenses that are associated with an item within Merchandising. In order to perform an update, the specified item/supplier/component ID must exist within Merchandising, else an error will be returned.

Service Type

PUT

ReST URL

MerchIntegrations/services/item/expenses/update
Availability During Nightly Batch Cycle

This service will not be available when batches that affect costs are in-progress.

Input Payload Details

Table 5-494 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.

Table 5-494 (Cont.) Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection of
Object
References a collection of items.

Table 5-495 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
expenseNoCollection of
Object
References a collection of item
expenses.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-496 Expense - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesNumber (10)The unique identifer for the supplier.
componentIdYesString (10)The code representing the specifc
expense component.
dischargePortYesString (5)The port where the item will enter
the importing country.
originCountryNoString (3)The country where the item was
manufactured or signifcantly
altered.
ladingPortNoString (5)The fnal destination lading port of
the item if the Expense Type is
Country.
costZoneIdNoNumber (10)The fnal destination zone of the item
if the Expense Type is Zone.
costZoneGroupIdNoNumber (4)This feld holds the items Zone Group,
it is stored here for performance
reasons.
baseExpenseIndNoString (1)Indicates whether or not this Set of
Expenses is also the base Set of
Expenses.
computationValueBaseNoString (10)The Computation Value Base
representing the base value for
calculating the expense.

Table 5-496 (Cont.) Expense - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentRateNoNumber
(20,4)
The rate to be charged against the
calculation, base. This feld will hold
a percentage value if the Calculation
basis of the Component is Value or a
monetary amount if the Calculation
Basis is Specifc.
perCountNoNumber
(12,4)
A count indicating the amount of the
Per Count Unit of Measure to which
the rate applies. This column is only
used for specifc (per-unit) expenses.
perCountUomNoString (4)The unit of measure in which the Per
Count is specifed. This column is only
used from specifc (per-unit)
expenses.
componentCurrencyNoString (3)Contains the currency the expense is
to be entered in. If the Calculation
Basis is V (Value), then the
comp_currency will be NULL.
updateOrdersIndNoString (1)Indicates that new changes will be
refected to associated order-location
expense record.
nominationFlag1NoString (1)This feld contains a fag that is used
to indicate if the value of the cost
component should be included in the
calculation of another. Nomination
fags are used to calculate the value
of a Computation Value Base (CVB)
which has the corresponding
nomination fag set to Yes (Y). Valid
values are: N/A (N) (the value of this
component will not be included in
CVBs which look at Nomination Flag
1), Add (+) (the value of this
component will be added to CVBs
which look at Nomination Flag 1),
and Subtract (-) (the value of this
component will be deducted from
CVBs which look at Nomination Flag
1). For example, if cost component
ABC has a + in Nomination Flag 1,
then all CVBs that include
Nomination Flag 1 will include this
cost component value in their
calculation basis.

Table 5-496 (Cont.) Expense - Object. See list of elements for detail

Element NameRequiredData TypeDescription
inDutyNoString (1)See description for nomFlag1. If ALC
is turned on (i. e. system_options.
import_ind = Y), inDuty fag is used to
indicate the status of a component in
duty calculation, inExpense fag is
used to indicate the status of a
component in ELC calculation, inALC
fag is used to indicate the status of a
component in ALC calculation, i. e.
these 3 fags can not be used for any
other purposes if ALC is turned on.
nominationFlag3NoString (1)This feld contains a fag that is used
to indicate if the value of the cost
component should be included in the
calculation of another. Nomination
fags are used to calculate the value
of a Computation Value Base (CVB)
which has the corresponding
nomination fag set to Yes (Y). Valid
values are: N/A (N) (the value of this
component will not be included in
CVBs which look at Nomination Flag
3), Add (+) (the value of this
component will be added to CVBs
which look at Nomination Flag 3),
and Subtract (-) (the value of this
component will be deducted from
CVBs which look at Nomination Flag
3). For example, if cost component
ABC has a + in Nomination Flag 3,
then all CVBs that include
Nomination Flag 3 will include this
cost component value in their
calculation basis.
inExpenseNoString (1)The inExpense fag is used to indicate
if the value of the cost component
should be included in total expenses.
inAlcNoString (1)The inALC fag is used for cost
components where the retailer does
not expect to receive an actual value
for the charge via an obligation or
customs entry. The inALC fag allows
the value of the cost component to be
included in ALC via direct
nomination and indicates to the
system that the estimated value on
the order should be used as the actual
value as well because no other actual
will be provided.

Table 5-497 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-498 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "dataLoadingDestination": "RMS",
      "expense": [
        {
          "supplier": 2400,
          "componentId": "AGCOMM",
          "dischargePort": "480",
          "originCountry": "US",
          "ladingPort": "7",
          "costZoneId": 696323,
          "costZoneGroupId": 1000,
          "baseExpenseInd": "N",
          "computationValueBase": null,
          "componentRate": 5.6,
          "perCount": 3,
          "perCountUom": "EA",
          "componentCurrency": "USD",
          "updateOrdersInd": "Y",
          "nominationFlag1": "N",
          "inDuty": "N",
          "nominationFlag3": "N",
          "inExpense": "+",
          "inAlc": "N"
        }
      ],
      "localizationExtensions": [
        {
          "country": "BR",
          "attributes": [
            {
              "name": "SPECIAL_CATEGORY_CODE",
              "value": "WS_PRC_08",
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Update Item HTS

Functional Area

Items - Item Definition

Business Overview

This service is used to update HTS of an existing item in Merchandising. In order to update HTS, the record to be updated must exist in Merchandising, otherwise, an error will be returned. Status and origin country ID can be updated at the HTS level.

Service Type

PUT

ReST URL

MerchIntegrations/services/item/hts/update
Availability During Nightly Batch Cycle

This service will not be available when batches that affect costs are in-progress.

Input Payload Details

Table 5-499 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-500 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
htsNoCollection of
Object
References a collection of item HTS.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.
Table 5-501 Hts - Object.
Element Name
See list of e
Required
lements for det
Data Type
ail
Description
htsYesString (25)The unique identifer for the
Harmonized Tariff Schedule code.
importCountryYesString (3)The unique identifer for the country
that the item will be imported into.
originCountryYesString (3)The country where the item was
manufactured or signifcantly
altered.
effectFromYesdateThe date from which the Item/HTS
relationship is valid. This feld is used
to maintain historical information
related to the Item/HTS relationship.
effectToYesdateThe date until when the Item/HTS
relationship is valid. This feld is used
to maintain historical information
related to the item/HTS relationship.
clearingZoneIdNoString (5)The concept of ‘clearing zone’
represents a country’s zone-level
point of entry of goods. This feld
holds the Clearing Zone ID for the
effective HTS code. Clearing zones are
defned by import country.

Table 5-501 Hts - Object. See list of elements for detail

Table 5-501 (Cont.) Hts - Object. See list of elements for detail

Element NameRequiredData TypeDescription
statusNoString (1)Used to indicate the status of the
Item/HTS relationship. Valid values
are (W)orksheet and (A)pproved.

Table 5-502 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection of
Object
This holds the details of localization
attributes.

Table 5-503 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "dataLoadingDestination": "RMS",
      "hts": [
        {
          "hts": "9014111111",
          "importCountry": "US",
          "originCountry": "CA",
          "effectFrom": "2001-12-31",
          "effectTo": "2001-12-31",
          "clearingZoneId": null,
          "status": "W"
        }
      ],
      "localizationExtensions": [
        {
          "country": "BR",
          "attributes": [
            {
              "name": "SPECIAL_CATEGORY_CODE",
              "value": "WS_PRC_08",
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Update Item HTS Assessments

Functional Area

Items - Item Definition

Business Overview

This service is used to update existing item HTS assessments in Merchandising. To update HTS assessments, the record to be updated must exist in Merchandising; otherwise, an error will be returned. All HTS assessment fields except for component ID can be updated.

Service Type

PUT

ReST URL

MerchIntegrations/services/item/hts/assessments/update

Input Payload Details

Update - Object. See list of elements for detail

Items - Object. See list of elements for detail

Hts - Object. See list of elements for detail

Assessments - Object. See list of elements for detail

LocalizationExtensions - Object. See list of elements for detail

Attributes - Object. See list of elements for detail

Response Code: 200 (Success)

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Item Location Upload Service

The following services are included in this functional area:

  • Create Item Locations

  • Manage Item Location Status Update Requests

  • Update Item Locations

Create Item Locations

Functional Area

Items - Item Definition

Business Overview

This service subscribes to items and their locations from external systems to create item location combinations in Merchandising. Item/location relationships can be created for an item and a single location or using one of the levels of the organizational hierarchy.

When a new item location is created, this service will first validate that all required fields are present in the message. Additionally, when creating a new item location at least one detail line must also be included in the request payload. After that, business level validation on the input information will be performed.

Service Type

POST

ReST URL

MerchIntegrations/services/item/locations/create
Availability During Nightly Batch Cycle

This service will not be available during total duration of nightly batch run cycle.

Input Payload Details

Table 5-504 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in
the collection.

Table 5-504 (Cont.) Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection of ObjectReferences a collection
of item-location
records.

Table 5-505 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The identifer for the
item.
hierarchyLevelYesString (2)The level of the
organizational
hierarchy to which the
hier_value feld
pertains. Valid values
are CH (chain), AR
(area), RE (region), DI
(district), S (store), and
W (warehouse).
locationsYesCollection of ObjectReferences a collection
of hierarchy details.
able 5-506 Locat
Element Name
ions - Object. See l
Required
ist of elements for detail
Data Type
Description
hierarchyValueYesNumber (10)Valid ID for a chain,
area, region, district,
store or warehouse
given based on the
hierarchy Level.
primarySupplierNoNumber (10)The primary supplier
for the item at the
location. If not
populated, this will
default from the
primary supplier on
the ITEM_SUPPLIER
table.
primaryCountryNoString (3)The primary country
for the item at the
location. If not
populated on a create
message this will
default from the
primary country on
the
ITEM_SUPP_COUNTRY
table.

Table 5-506 Locations - Object. See list of elements for detail

Table 5-506 (Cont.) Locations - Object. See list of elements for detail

Element NameRequiredData TypeDescription
localItemDescriptionNoString (250)Local description for
the item at the
location. If not
populated on the
message this will
default from the
ITEM_MASTER table.
statusYesString (1)The status of the item
at the location.
storeOrderMultipleYesString (1)The unit type of the
item shipped from the
warehouse to the
location. Valid values
are C (cases), I
(inners), and E
(eaches). Eaches will
default if left null on a
create message.
receiveAsTypeNoString (1)The unit in which the
warehouse will
receive goods. Valid
values are E (eaches)
and P (pack). This feld
only applies to buyer
packs. If the item is not
a buyer pack this feld
should be null.
taxableIndYesString (1)Indicates if the item is
taxable at the location.
Valid values are ‘Y’ and
’N’. If not populated on
the message it will
default to ‘Y’.
tiNoNumber (12)Number of shipping
units (cases) that make
up one tier of a pallet.
Multiply TI x HI to get
total number of cases
for a pallet.
hiNoNumber (12)Number of tiers that
make up a complete
pallet (height).
Multiply TI x HI to get
total number of cases
for a pallet.
dailyWastePercentNoNumber (12,4)Average percentage
lost from inventory on
a daily basis due to
natural wastage.

Table 5-506 (Cont.) Locations - Object. See list of elements for detail

Element NameRequiredData TypeDescription
localShortDescriptionNoString (120)The local short
description of the
item. Will default to
the item’s short
description. Will be
downloaded to the
POS.
uinTypeNoString (6)This attribute will
contain the type of the
unique identifcation
number (UIN) used to
identify instances of
the item at the
location. Valid values
for this attribute
should be user-
defnable on the
Merchandising code
tables. This attribute
should be nullable.
uinLabelNoString (6)This attribute will
contain the label for
the UIN when
displayed in Store
Inventory Operations.
Valid values should be
user-defnable on the
Merchandising code
tables. This attribute
should be nullable but
a value is required
when a UIN Type is
specifed.
captureTimeNoString (6)This attribute will
indicate when the UIN
should be captured for
an item during
transaction processing.
There are 2 valid
values for this feld
which should be
stored on the
Merchandising code
tables: Sale and Store
Receiving. This
attribute should be
nullable.

Table 5-506 (Cont.) Locations - Object. See list of elements for detail

Element NameRequiredData TypeDescription
externalUinIndNoString (1)This Yes/No indicator
indicates if UIN is
being generated in the
external system (e. g.
SIM). This value will
always be N (no) when
the Capture Time
attribute is set to Sale.
sourceMethodNoString (1)Determines the source
method for a
requested item at a
store. Valid values:
‘W’(warehouse) and
’S’(supplier), default
value is ‘S’.
sourceWarehouseNoNumber (10)If the source_method
is ‘W’, this feld
contains the source
warehouse for
fulflling item requests
at a store.
unitCostNoNumber (20,4)The current corporate
unit cost for the item
in the location’s
currency. This feld
will only be used to
establish the item
supplier country loc
unit cost; it cannot be
modifed.
purchaseTypeNoString (1)This contains a code to
indicate whether the
item is normal
merchandise (i. e.
owned by the retailer),
consignment stock or a
concession item. Valid
values are 0 - Owned,
1 - Consignment, 2 -
Concession.
calculationBasisNoString (1)This indicates if the
cost for the
consignment/
concession item will
be managed either
based on cost per unit
or as a percentage of
retail. Valid values are
C - Cost per Unit, P -
Purchase Rate.

Table 5-506 (Cont.) Locations - Object. See list of elements for detail

Element NameRequiredData TypeDescription
purchaseRateNoNumber (12,4)This column contains
the percentage of the
retail price which will
determine the cost
paid to the supplier for
a consignment or
concession item.
pricingControlNoString (1)This indicates whether
the price for the
consignment/
concession item will
be managed by
supplier or by retailer
when supplier-
controlled pricing for
Consignment/
Concession ownership
model is used within
the Merchandising
suite of solutions. Valid
values are: R - Retailer
S - Supplier If no value
is provided for
consignment/
concession purchase
types, this will be
defaulted from item/
supplier/country of
sourcing /location if
purchase type is
Consignment/
Concession at item/
supplier/ country of
sourcing/location
level. If purchase type
is Owned at item/
supplier/country of
sourcing/location
level, then this will be
defaulted from item/
supplier/country of
sourcing if purchase
type is Consignment/
Concession at item/
supplier/country of
sourcing level. If
purchase type is
Owned at item/
supplier/country of
sourcing level, then
this will be defaulted
based on Default
Pricing Control at
supplier site level.

Table 5-506 (Cont.) Locations - Object. See list of elements for detail

Element NameRequiredData TypeDescription
promotableInd
NoString (1)This feld will
indicates,if the item
can be included on
promotions or not.
rfdIndNoString (1)This indicates if the
item is RFID tagged or
not. Valid values are
Yes (Y) and No (N).
ticketMeasureOfAnEac
h
NoNumber (12,4)Size of an each in
terms of the
uom_of_price. For
example 12 oz. Used in
ticketing.
ticketPerCountNoNumber (12,4)Size to be used on the
ticket in terms of the
uom_of_price. For
example, if the user
wants the ticket to
have the label print
the price per ounce,
this value would be 1.
If the user wanted the
price per 100 grams
this value would be
100. Used in ticketing.
ticketUomNoString (4)Unit of measure that
will be used on the
ticket for this item.
primaryVariantNoString (25)This feld is used to
address sales of PLUs
(i. e. above transaction
level items) when
inventory is tracked at
a lower level (i. e.
UPC). This feld will
only contain a value
for items one level
higher than the
transaction level.
primaryCostPackNoString (25)This feld contains an
item number that is a
simple pack
containing the item in
the item column for
this record. If
populated, the cost of
the future cost table
will be driven from
the simple pack and
the deals and cost
changes for the simple
pack.

Table 5-506 (Cont.) Locations - Object. See list of elements for detail

Element NameRequiredData TypeDescription
inboundHandlingDaysNoNumber (2)This feld indicates the
number of inbound
handling days for an
item at a warehouse
type location.
rangedIndNoString (1)This column
determines if the
location is ranged
intentionally by the
user for
replenishment/selling
or incidentally ranged
by the RMS programs
when item is not
ranged to a specifc
location on the
transaction.
costingLocationNoNumber (10)Numeric identifer of
the costing location for
the franchise store.
This feld may contain
a store or a
warehouse.
sellingPhaseStartDateNodateIt is used to determine
the timing of the
generation of
markdown
recommendation,
which will occur x
weeks after the start of
this phase.
updSellDateOnStOrdRc
pt
NoString (1)This indicates whether
or not to update the
Selling Phase Start
Date for the item/loc
when a purchase
order of this item is
received at the store.
updSellDateOnWh2stR
cpt
NoString (1)This indicates whether
or not to update the
Selling Phase Start
Date for the item/loc
when a warehouse to
store transfer/
allocation of this item
is received at the store.
updSellDateOnSt2stRc
pt
NoString (1)This indicates whether
or not to update the
Selling Phase Start
Date for the item/loc
when a store to store
transfer of this item is
received at the store.

Table 5-506 (Cont.) Locations - Object. See list of elements for detail

Element NameRequiredData TypeDescription
minUnitsForSellDateR
eset
NoNumber (12,4)This feld contains the
minimum shipped
quantity of an item on
a transfer/allocation
that will trigger the
resetting of the Selling
Phase Start Date. This
value is only used if
either of the Set Selling
Start Date upon
Receipt of a
Warehouse to Store
Transfer/Allocation or
Set Selling Start Date
upon Receipt of a Store
to Store Transfer are
set to Yes (Y).
mfgSugRetailInclTaxNoNumber (20,4)This feld holds the
tax-inclusive
Manufacturer
Suggested Retail in
local currency and in
item’s standard UOM.
It is used when
default_tax_type is GTS
or SVAT.
mfgSugRetailExclTaxNoNumber (20,4)This feld holds the
tax-exclusive
Manufacturer
Suggested Retail in
local currency and in
item’s standard UOM.
It is used when
default_tax_type is
SALES.
postingClassiferNoString (6)‘Contains a classifer
that will be used to
segregate the sales
posting of the item-loc
combination to
various GL accounts.
Valid values are user-
defnable on the RMS
code tables under
code_type ‘POCL’.

Table 5-506 (Cont.) Locations - Object. See list of elements for detail

Element NameRequiredData TypeDescription
customFlexAttributeNoCollection of ObjectReferences a collection
of custom fexible
attributes. This
collection is treated as
a single group and
should include all
named fexible
attributes for the
business entity. If any
confgured named
attribute is missing
from the input
collection, its value
will be set to NULL
traitNoRecordReferences a location
trait record.
localizationExtensionsNoCollection of ObjectHolds optional
localization attributes
that will be processed
by the localization
extension module.

Table 5-507 Trait - Object. See list of elements for detail

Element NameRequiredData TypeDescription
launchDateNodateThe date the item
should frst be sold at
the location. Value will
be downloaded to the
POS. No internal
processing occurs
from this feld.
quantityKeyOptionsNoString (6)Determines whether
the qty key on a POS
should be used for this
item at the location.
Valid values are in the
code_type ‘RPO’.
Current values include
’R - required’, ‘P -
Prohibited’, and ‘O -
Optional’. Additional
values can be added to
the code type

Table 5-507 (Cont.) Trait - Object. See list of elements for detail

Element NameRequiredData TypeDescription
manualPriceEntryNoString (6)Determines whether
the price can/should
be entered manually
on a POS for this item
at the location. Valid
values are in the
code_type ‘RPO’.
Current values include
’R - required’, ‘P -
Prohibited’, and ‘O -
Optional’. Additional
values can be added.
depositCodeNoString (6)Indicates whether a
deposit is associated
with this item at the
location. Values are in
the code_type ‘DEPO’.
The only processing in
Merchandising is
downloading it to the
POS. Examples are
None (NONE), Maine -
0.10 (ME2) and Maine -
0.05 (ME1).
foodStampIndNoString (1)Indicates whether the
item is approved for
food stamps at the
location. This value
will be downloaded to
the POS.
wicIndNoString (1)Indicates whether the
item is approved for
WIC at the location.
This value will be
downloaded to the
POS.
proportionalTarePerce
nt
NoNumber (12,4)For items sold by
weight, this is the
proportion of the total
weight of a unit of an
item that is packaging.
fxedTareValueNoNumber (12,4)Holds the weight of the
packaging in items
sold by weight at the
location; i. e. if the tare
item is bulk candy, this
is weight of the bag
and twist tie). The only
processing
Merchandising does is
to download it to POS.

Table 5-507 (Cont.) Trait - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fxedTareUomNoString (4)Holds the unit of
measure value
associated with the
tare value. The only
processing
Merchandising does
involving the fxed
tare value and UOM is
downloading it to the
POS. Fixed tare is not
subtracted from items
sold by weight when
sales are uploaded to
Merchandising, etc
rewardEligibleIndNoString (1)Holds whether the
item is legally valid for
various types of bonus
point/award programs
at the location. This
value will be
downloaded to the
POS.
nationalBrandCompeti
torItem
NoString (25)Holds the nationally
branded item to which
you would like to
compare the current
item. This nationally
branded item must
exist as an item in
Merchandising (i. e. on
the item_master table).
returnPolicyNoString (6)The return policy for
the item at the
location. Valid values
are in the code_type
’RETP’. This value will
be downloaded to the
POS. Examples are All
returns accepted
(ALL), Customer ID
needed for return (ID)
and Manager approval
needed for return
(MNGR).
stopSaleIndNoString (1)Indicates that sale of
the item should be
stopped immediately
at the location (i. e. in
case of recall etc). This
value will be
downloaded to the
POS.

Table 5-507 (Cont.) Trait - Object. See list of elements for detail

Element NameRequiredData TypeDescription
electronicMarketClubsNoString (6)Code for the marketing
clubs to which the
item belongs at the
location. Valid values
are in the code_type
’MTKC’. Examples are
Baby Club (B), Baby/
Family Clubs (BF) and
Deli Club (D).
reportCodeNoString (6)Code to determine
which reports the
location should run.
Values are in the code
type REPC (Report
Code). Examples are
All Locations
Reports(ALL) and No
Location Report (NO).
requiredShelfLifeOnSe
lection
NoNumber (4)Holds the required
shelf life for an item
on selection in days.
This feld is not
required. No
Merchandising
processing is based on
the value in this feld.
It is clients
responsibility to
communicate this
value to external
systems that may need
it.
requiredShelfLifeOnRe
ceipt
NoNumber (4)Holds the required
shelf life for an item
on receipt in days. This
feld is not required.
No Merchandising
processing is based on
the value in this feld.
It is clients
responsibility to
communicate this
value to external
systems that may need
it for processing
investmentBuyShelfLif
e
NoNumber (4)The Investment Buy-
specifc shelf life for
the item/location.

Table 5-507 (Cont.) Trait - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeReorderableIndNoString (1)A code (Y or N) to
indicate whether the
store may re-order the
item. Will default to N.
No Merchandising
processing is based on
the value in this feld.
It is clients
responsibility to
communicate this
value to external
systems.
rackSizeNoString (6)Indicates the rack size
that should be used for
the item. Valid values
for the feld are in the
code_type ‘RACK’. No
Merchandising
processing is based on
the value in this feld.
It is clients
responsibility to
communicate to
external systems.
Examples are large (L),
Medium (M) and Small
(S).
fullPalletItemNoString (1)A code (Y or N) to
indicate whether a
store must reorder an
item in full pallets
only. Will default to N.
No Merchandising
processing is based on
the value in this feld.
It is clients
responsibility to
communicate to
external systems.

Table 5-507 (Cont.) Trait - Object. See list of elements for detail

Element NameRequiredData TypeDescription
inStoreMarketBasketNoString (6)The in store market
basket code for this
item/location. Valid
values for the feld are
in the code_type
’STMB’. No
Merchandising
processing is based on
the value in this feld.
It is clients
responsibility to
communicate this
value to external
systems. Examples are
A item at this loc (A), B
item at this loc (B) and
C item at this loc (C).
storageLocationNoString (7)Holds the current
storage location or bin
number for the item at
the location. No
Merchandising
processing is based on
the value in this feld.
It is clients
responsibility to
communicate this
value to external
systems that may need
it for processing.
alternateStorageLocati
on
NoString (7)Holds the preferred
alternate storage
location or bin
number for the item at
the location. No
Merchandising
processing is based on
the value in this feld.
It is clients
responsibility to
communicate this
value to external
systems that may need
it for processing
returnableIndNoString (1)This feld will contain
a value of ‘Y’es when
the item can be
returned to the
location,
refundableIndNoString (1)This feld will contain
a value of ‘Y’es when
the item is refundable
at the location.

Table 5-507 (Cont.) Trait - Object. See list of elements for detail

Element NameRequiredData TypeDescription
backOrderIndNoString (1)This feld will contain
a value of ‘Y’es when
the item can be back
ordered to the
location.

Table 5-508 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute
name.
valueNoString (250)Holds the numeric or
string value of the
attribute.
valueDateNodateHolds the date value of
the attribute.

Table 5-509 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country
associated with the
localization attributes.
attributesYesCollection of ObjectThis holds the details
of localization
attributes.

Table 5-510 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute
name.
valueNoString (250)Holds the numeric or
string value of the
attribute.
valueDateNodateHolds the date value of
the attribute.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"item": "100000024",
"hierarchyLevel": "S",
"locations": [
{
"hierarchyValue": 6000,
"primarySupplier": 6100,
"primaryCountry": "US",
"localItemDescription": "100000024 at 6000",
"status": "A",
"storeOrderMultiple": "E",
"receiveAsType": null,
"taxableInd": "N",
"ti": 1,
"hi": 1,
"dailyWastePercent": 1,
"localShortDescription": "100000024 at 6000",
"uinType": null,
"uinLabel": null,
"captureTime": null,
"externalUinInd": "N",
"sourceMethod": "S",
"sourceWarehouse": null,
"unitCost": 9.65,
"purchaseType": null,
"calculationBasis": null,
"purchaseRate": 1,
"pricingControl": "R",
"promotableInd": "N",
"rfidInd": "N",
"ticketMeasureOfAnEach": 2,
"ticketPerCount": 1,
"ticketUom": "EA",
"primaryVariant": "100100090",
"primaryCostPack": "100100080",
"inboundHandlingDays": 1,
"rangedInd": "Y",
"costingLocation": 199,
"sellingPhaseStartDate": "2001-12-31",
"updSellDateOnStOrdRcpt": "N",
"updSellDateOnWh2stRcpt": "N",
"updSellDateOnSt2stRcpt": "N",
"minUnitsForSellDateReset": 50,
"mfgSugRetailInclTax": 20,
"mfgSugRetailExclTax": 18.12,
"postingClassifier": "String",
"customFlexAttribute": [
{
"name": "REVIEW_DATE",
"value": null,
"valueDate": null
}
],
"trait": {
"launchDate": "2001-12-31",
"quantityKeyOptions": null,
"manualPriceEntry": null,
"depositCode": null,
"foodStampInd": "N",
"wicInd": "N",
"proportionalTarePercent": 3,
"fixedTareValue": 3,
"fixedTareUom": "EA",
"rewardEligibleInd": "N",
"nationalBrandCompetitorItem": null,
"returnPolicy": null,
"stopSaleInd": "N",
"electronicMarketClubs": null,
"reportCode": null,
"requiredShelfLifeOnSelection": 1000,
"requiredShelfLifeOnReceipt": 1000,
"investmentBuyShelfLife": 1000,
"storeReorderableInd": "Y",
"rackSize": null,
"fullPalletItem": null,
"inStoreMarketBasket": null,
"storageLocation": null,
"alternateStorageLocation": null,
"returnableInd": "N",
"refundableInd": "N",
"backOrderInd": "N"
},
"localizationExtensions": [
{
"country": "BR",
"attributes": [
{
"name": "SPECIAL_CATEGORY_CODE",
"value": "WS_PRC_08",
"valueDate": "2001-12-31"
}
]
}
]
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}
Manage Item Location Status Update Requests
Functional Area

Items - Item Definition

Business Overview

This service provides the capability to create and maintain requests to update item/location status from an external system or source. This service takes in a collection of item locations along with the desired status and the effective date upon which each update should take place.

Possible status values can be found under the Item/Location Statuses (STST) code type, which includes values such as Active (A), Inactive (I), Discontinued (C) and Deleted (D). The effective date on a new request must be at least one day later than the current business date (virtual date + 1). The service will accept approved transaction level items or approved reference items. When a reference item is provided, the system will update the item/location status for the associated transaction level item. Locations must be a store, physical warehouse or virtual warehouse. If a physical warehouse is provided, requests will be created/updated/ deleted for all virtual warehouses under the physical warehouse. Requests can be created for item/location combinations where the item is not yet ranged to the location. In this case, when the request is processed by the Scheduled Item Maintenance (sitmain) batch program, the item will be ranged to the location with the provided status.

This single service supports complete maintenance of item location status update requests, which includes the ability to create, update and delete requests. The service takes in an external request reference number. The external system can update or delete a previously created request by passing updates against an external request reference number sent earlier. Removal of item locations or scheduled status date can be accomplished by omitting them in an update request. Deleting of an existing request will require the Delete flag to be set on the update request. No details (item locations or status-date combinations) are required on a Request having the Delete flag set.

Item/location status update requests created via this service can also be viewed and maintained via the Item/Location Update screen which is accessed via the Manage Scheduled Item Updates link under the Items > Scheduled Item Maintenance folder in the Tasks list.

This webservice will enable interfacing of item locations status change requests into Merchandising. Processing of these requests out will continue to be carried out by the Scheduled Item Maintenance (sitmain) batch process. This batch program will update the item-location status the night before the effective date on the request.

Service Type
PUT
ReST URL
MerchIntegrations/services/item/location/statusUpdateRequests/manage
Availability During Nightly Batch Cycle

This service will not be available during total duration of nightly batch run cycle.

Input Payload Details

Table 5-511 Manage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
Collection of the input details for
which item location status update is
requested.

Table 5-512 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
externalRequestIdYesNumber (10)External request id against which the
item location status update request
will be created.
descriptionNoString (120)Request description.
deleteFlagNoString (1)Indicate if the request is to be deleted.
Valid values are Y - Yes and N - No.
detailsNoCollection of
Object
Collection of status/update dates on
which the new status will be updated.
The maximum number of the status/
update dates allowed is 999.
itemLocationsNoCollection of
Object
Collection of item/locations for which
the status updates are requested. The
maximum number of the items/
locations allowed is 999.

Table 5-513 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
statusYesString (1)The status to update. Valid values are
A - Active, I - Inactive, C -
Discontinued and D - Delete.
updateDateYesdateThe future date on which status
update will take place. The expected
date format is YYYY-MM-DD.

Table 5-514 ItemLocations - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The transaction level or below
transaction level item for which
status update is requested.
locationYesNumber (10)The location at which item status will
be updated. Valid location can be a
store, physical warehouse or virtual
warehouse.

Table 5-515 ManageError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
externalRequestIdYesNumber (10)External requested id against which
errors are encountered.
errorMessagesYesArray of
String
List of errors identifed during
business data processing of the
request.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "externalRequestId": 12122,
      "description": "Request description",
      "deleteFlag": "N",
      "details": [
        {
          "status": "I",
          "updateDate": "2001-12-31"
        }
      ],
      "itemLocations": [
        {
          "item": "101050103",
          "location": 1531
        }
      ]
    }
  ]
}

Response Code: 200 (Success) Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Table 5-516 ManageError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
externalRequestIdYesNumber (10)External requested id against which
errors are encountered.
errorMessagesYesArray of
String
List of errors identifed during
business data processing of the
request.
Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    {
      "externalRequestId": 12122,
      "errorMessages": [
        "Input location is not a valid store or warehouse. Input location is
1531."
      ]
    }
  ]
}
Update Item Locations

Functional Area

Items - Item Definition

Business Overview

This service is used to subscribe to items and their linked locations from external systems in order to update this data at the item/location level within Merchandising. Item/location relationships can be updated for an item and a single location or using one of the levels of the organizational hierarchy.

When an item location is updated, this service will first validate that all the required fields are present in the message. Additionally, when creating a new item/location record, at least one detail line must also be included in the request payload in order to be able to perform business level validation on the input information.

Service Type

PUT

ReST URL

MerchIntegrations/services/item/locations/update
Availability During Nightly Batch Cycle

This service will not be available during total duration of nightly batch run cycle.

Input Payload Details

Table 5-517 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in
the collection.
itemsYesCollection of ObjectReferences a collection
of item-location
records.

Table 5-518 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The identifer for the
item.
hierarchyLevelYesString (2)The level of the
organizational
hierarchy to which the
hier_value feld
pertains. Valid values
are CH (chain), AR
(area), RE (region), DI
(district), S (store), and
W (warehouse).
locationsYesCollection of ObjectReferences a collection
of hierarchy details.
able 5-519 Locat
Element Name
ions - Object. See l
Required
ist of elements for detail
Data Type
Description
hierarchyValueYesNumber (10)The same value as in
the hier_level feld.
primarySupplierNoNumber (10)The primary supplier
for the item at the
location. If not
populated on a create
message this will
default from the
primary supplier on
the ITEM_SUPPLIER
table.

Table 5-519 Locations - Object. See list of elements for detail

Table 5-519 (Cont.) Locations - Object. See list of elements for detail

Element NameRequiredData TypeDescription
primaryCountryNoString (3)The primary country
for the item at the
location. If not
populated on a create
message this will
default from the
primary country on
the
ITEM_SUPP_COUNTRY
table.
localItemDescriptionNoString (250)Local description for
the item at the
location. If not
populated on the
message this will
default from the
ITEM_MASTER table.
statusYesString (1)The status of the item
at the location.
storeOrderMultipleYesString (1)The unit type of the
item shipped from the
warehouse to the
location. Valid values
are C (cases), I
(inners), and E
(eaches). Eaches will
default if left null on a
create message.
receiveAsTypeNoString (1)The unit in which the
warehouse will
receive goods. Valid
values are E (eaches)
and P (pack). This feld
only applies to buyer
packs. If the item is not
a buyer pack this feld
should be null.
taxableIndYesString (1)Indicates if the item is
taxable at the location.
Valid values are ‘Y’ and
’N’. If not populated on
the message it will
default to ‘Y’.
tiNoNumber (12)Number of shipping
units (cases) that make
up one tier of a pallet.
Multiply TI x HI to get
total number of cases
for a pallet.

Table 5-519 (Cont.) Locations - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hiNoNumber (12)Number of tiers that
make up a complete
pallet (height).
Multiply TI x HI to get
total number of cases
for a pallet.
dailyWastePercentNoNumber (12,4)Average percentage
lost from inventory on
a daily basis due to
natural wastage.
localShortDescriptionNoString (120)The local short
description of the
item. Will default to
the item’s short
description. Will be
downloaded to the
POS.
uinTypeNoString (6)This attribute will
contain the type of the
unique identifcation
number (UIN) used to
identify instances of
the item at the
location. Valid values
for this attribute
should be user-
defnable on the
Merchandising code
tables. This attribute
should be nullable.
uinLabelNoString (6)This attribute will
contain the label for
the UIN when
displayed in Store
Inventory Operations.
Valid values should be
user-defnable on the
Merchandising code
tables. This attribute
should be nullable but
a value is required
when a UIN Type is
specifed.

Table 5-519 (Cont.) Locations - Object. See list of elements for detail

Element NameRequiredData TypeDescription
captureTimeNoString (6)This attribute will
indicate when the UIN
should be captured for
an item during
transaction processing.
There are 2 valid
values for this feld
which should be
stored on the
Merchandising code
tables: Sale and Store
Receiving. This
attribute should be
nullable.
externalUinIndNoString (1)This Yes/No indicator
indicates if UIN is
being generated in the
external system (e. g.
SIM). This value will
always be N (no) when
the Capture Time
attribute is set to Sale.
sourceMethodNoString (1)Determines the source
method for a
requested item at a
store. Valid values:
‘W’(warehouse) and
’S’(supplier), default
value is ‘S’.
sourceWarehouseNoNumber (10)If the source_method
is ‘W’, this feld
contains the source
warehouse for
fulflling item requests
at a store.
promotableIndNoString (1)This feld will
indicates,if the item
can be included on
promotions or not.
rfdIndNoString (1)This indicates if the
item is RFID tagged or
not. Valid values are
Yes (Y) and No (N).
ticketMeasureOfAnEac
h
NoNumber (12,4)Size of an each in
terms of the
uom_of_price. For
example 12 oz. Used in
ticketing.

Table 5-519 (Cont.) Locations - Object. See list of elements for detail

Element NameRequiredData TypeDescription
ticketPerCountNoNumber (12,4)Size to be used on the
ticket in terms of the
uom_of_price. For
example, if the user
wants the ticket to
have the label print
the price per ounce,
this value would be 1.
If the user wanted the
price per 100 grams
this value would be
100. Used in ticketing.
ticketUomNoString (4)Unit of measure that
will be used on the
ticket for this item.
primaryVariantNoString (25)This feld is used to
address sales of PLUs
(i. e. above transaction
level items) when
inventory is tracked at
a lower level (i. e.
UPC). This feld will
only contain a value
for items one level
higher than the
transaction level.
primaryCostPackNoString (25)This feld contains an
item number that is a
simple pack
containing the item in
the item column for
this record. If
populated, the cost of
the future cost table
will be driven from
the simple pack and
the deals and cost
changes for the simple
pack.
inboundHandlingDaysNoNumber (2)This feld indicates the
number of inbound
handling days for an
item at a warehouse
type location.

Table 5-519 (Cont.) Locations - Object. See list of elements for detail

Element NameRequiredData TypeDescription
rangedIndNoString (1)This column
determines if the
location is ranged
intentionally by the
user for
replenishment/selling
or incidentally ranged
by the RMS programs
when item is not
ranged to a specifc
location on the
transaction.
costingLocationNoNumber (10)Numeric identifer of
the costing location for
the franchise store.
This feld may contain
a store or a
warehouse.
sellingPhaseStartDateNodateIt is used to determine
the timing of the
generation of
markdown
recommendation,
which will occur x
weeks after the start of
this phase.
updSellDateOnStOrdRc
pt
NoString (1)This indicates whether
or not to update the
Selling Phase Start
Date for the item/loc
when a purchase
order of this item is
received at the store.
updSellDateOnWh2stR
cpt
NoString (1)This indicates whether
or not to update the
Selling Phase Start
Date for the item/loc
when a warehouse to
store transfer/
allocation of this item
is received at the store.
updSellDateOnSt2stRc
pt
NoString (1)This indicates whether
or not to update the
Selling Phase Start
Date for the item/loc
when a store to store
transfer of this item is
received at the store.

Table 5-519 (Cont.) Locations - Object. See list of elements for detail

Element NameRequiredData TypeDescription
minUnitsForSellDateR
eset
NoNumber (12,4)This feld contains the
minimum shipped
quantity of an item on
a transfer/allocation
that will trigger the
resetting of the Selling
Phase Start Date. This
value is only used if
either of the Set Selling
Start Date upon
Receipt of a
Warehouse to Store
Transfer/Allocation or
Set Selling Start Date
upon Receipt of a Store
to Store Transfer are
set to Yes (Y).
mfgSugRetailInclTaxNoNumber (20,4)This feld holds the
tax-inclusive
Manufacturer
Suggested Retail in
local currency and in
item’s standard UOM.
It is used when
default_tax_type is GTS
or SVAT.
mfgSugRetailExclTaxNoNumber (20,4)This feld holds the
tax-exclusive
Manufacturer
Suggested Retail in
local currency and in
item’s standard UOM.
It is used when
default_tax_type is
SALES.
postingClassiferNoString (6)‘Contains a classifer
that will be used to
segregate the sales
posting of the item-loc
combination to
various GL accounts.
Valid values are user-
defnable on the RMS
code tables under
code_type ‘POCL’.

Table 5-519 (Cont.) Locations - Object. See list of elements for detail

Element NameRequiredData TypeDescription
customFlexAttributeNoCollection of ObjectReferences a collection
of custom fexible
attributes. This
collection is treated as
a single group and
should include all
named fexible
attributes for the
business entity. If any
confgured named
attribute is missing
from the input
collection, its value
will be set to NULL
traitNoRecordChild node.
localizationExtensionsNoCollection of ObjectHolds optional
localization attributes
that will be processed
by the localization
extension module.

Table 5-520 Trait - Object. See list of elements for detail

Element NameRequiredData TypeDescription
launchDateNodateThe date the item
should frst be sold at
the location. Value will
be downloaded to the
POS. No internal
processing occurs
from this feld.
quantityKeyOptionsNoString (6)Determines whether
the qty key on a POS
should be used for this
item at the location.
Valid values are in the
code_type ‘RPO’.
Current values include
’R - required’, ‘P -
Prohibited’, and ‘O -
Optional’. Additional
values can be added to
the code type

Table 5-520 (Cont.) Trait - Object. See list of elements for detail

Element NameRequiredData TypeDescription
manualPriceEntryNoString (6)Determines whether
the price can/should
be entered manually
on a POS for this item
at the location. Valid
values are in the
code_type ‘RPO’.
Current values include
’R - required’, ‘P -
Prohibited’, and ‘O -
Optional’. Additional
values can be added.
depositCodeNoString (6)Indicates whether a
deposit is associated
with this item at the
location. Values are in
the code_type ‘DEPO’.
The only processing in
Merchandising is
downloading it to the
POS. Examples are
None (NONE), Maine -
0.10 (ME2) and Maine -
0.05 (ME1).
foodStampIndNoString (1)Indicates whether the
item is approved for
food stamps at the
location. This value
will be downloaded to
the POS.
wicIndNoString (1)Indicates whether the
item is approved for
WIC at the location.
This value will be
downloaded to the
POS.
proportionalTarePerce
nt
NoNumber (12,4)For items sold by
weight, this is the
proportion of the total
weight of a unit of an
item that is packaging.
fxedTareValueNoNumber (12,4)Holds the weight of the
packaging in items
sold by weight at the
location; i. e. if the tare
item is bulk candy, this
is weight of the bag
and twist tie). The only
processing
Merchandising does is
to download it to POS.

Table 5-520 (Cont.) Trait - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fxedTareUomNoString (4)Holds the unit of
measure value
associated with the
tare value. The only
processing
Merchandising does
involving the fxed
tare value and UOM is
downloading it to the
POS. Fixed tare is not
subtracted from items
sold by weight when
sales are uploaded to
Merchandising, etc
rewardEligibleIndNoString (1)Holds whether the
item is legally valid for
various types of bonus
point/award programs
at the location. This
value will be
downloaded to the
POS.
nationalBrandCompeti
torItem
NoString (25)Holds the nationally
branded item to which
you would like to
compare the current
item. This nationally
branded item must
exist as an item in
Merchandising (i. e. on
the item_master table).
returnPolicyNoString (6)The return policy for
the item at the
location. Valid values
are in the code_type
’RETP’. This value will
be downloaded to the
POS. Examples are All
returns accepted
(ALL), Customer ID
needed for return (ID)
and Manager approval
needed for return
(MNGR).
stopSaleIndNoString (1)Indicates that sale of
the item should be
stopped immediately
at the location (i. e. in
case of recall etc). This
value will be
downloaded to the
POS.

Table 5-520 (Cont.) Trait - Object. See list of elements for detail

Element NameRequiredData TypeDescription
electronicMarketClubsNoString (6)Code for the marketing
clubs to which the
item belongs at the
location. Valid values
are in the code_type
’MTKC’. Examples are
Baby Club (B), Baby/
Family Clubs (BF) and
Deli Club (D).
reportCodeNoString (6)Code to determine
which reports the
location should run.
Values are in the code
type REPC (Report
Code). Examples are
All Locations
Reports(ALL) and No
Location Report (NO).
requiredShelfLifeOnSe
lection
NoNumber (4)Holds the required
shelf life for an item
on selection in days.
This feld is not
required. No
Merchandising
processing is based on
the value in this feld.
It is clients
responsibility to
communicate this
value to external
systems that may need
it.
requiredShelfLifeOnRe
ceipt
NoNumber (4)Holds the required
shelf life for an item
on receipt in days. This
feld is not required.
No Merchandising
processing is based on
the value in this feld.
It is clients
responsibility to
communicate this
value to external
systems that may need
it for processing
investmentBuyShelfLif
e
NoNumber (4)The Investment Buy-
specifc shelf life for
the item/location

Table 5-520 (Cont.) Trait - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeReorderableIndNoString (1)A code (Y or N) to
indicate whether the
store may re-order the
item. Will default to N.
No Merchandising
processing is based on
the value in this feld.
It is clients
responsibility to
communicate this
value to external
systems.
rackSizeNoString (6)Indicates the rack size
that should be used for
the item. Valid values
for the feld are in the
code_type ‘RACK’. No
Merchandising
processing is based on
the value in this feld.
It is clients
responsibility to
communicate to
external systems.
Examples are large (L),
Medium (M) and Small
(S).
fullPalletItemNoString (1)A code (Y or N) to
indicate whether a
store must reorder an
item in full pallets
only. Will default to N.
No Merchandising
processing is based on
the value in this feld.
It is clients
responsibility to
communicate to
external systems.

Table 5-520 (Cont.) Trait - Object. See list of elements for detail

Element NameRequiredData TypeDescription
inStoreMarketBasketNoString (6)The in store market
basket code for this
item/location. Valid
values for the feld are
in the code_type
’STMB’. No
Merchandising
processing is based on
the value in this feld.
It is clients
responsibility to
communicate this
value to external
systems. Examples are
A item at this loc (A), B
item at this loc (B) and
C item at this loc (C).
storageLocationNoString (7)Holds the current
storage location or bin
number for the item at
the location. No
Merchandising
processing is based on
the value in this feld.
It is clients
responsibility to
communicate this
value to external
systems that may need
it for processing.
alternateStorageLocati
on
NoString (7)Holds the preferred
alternate storage
location or bin
number for the item at
the location. No
Merchandising
processing is based on
the value in this feld.
It is clients
responsibility to
communicate this
value to external
systems that may need
it for processing
returnableIndNoString (1)This feld will contain
a value of ‘Y’es when
the item can be
returned to the
location
refundableIndNoString (1)This feld will contain
a value of ‘Y’es when
the item is refundable
at the location.

Table 5-520 (Cont.) Trait - Object. See list of elements for detail

Element NameRequiredData TypeDescription
backOrderIndNoString (1)This feld will contain
a value of ‘Y’es when
the item can be back
ordered to the location

Table 5-521 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute
name.
valueNoString (250)Holds the numeric or
string value of the
attribute.
valueDateNodateHolds the date value of
the attribute.

Table 5-522 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country
associated with the
localization attributes.
attributesYesCollection of ObjectThis holds the details
of localization
attributes.

Table 5-523 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute
name.
valueNoString (250)Holds the numeric or
string value of the
attribute.
valueDateNodateHolds the date value of
the attribute.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"item": "100000024",
"hierarchyLevel": "S",
"locations": [
{
"hierarchyValue": 6000,
"primarySupplier": 6100,
"primaryCountry": "US",
"localItemDescription": "100000024 at 6000",
"status": "I",
"storeOrderMultiple": "E",
"receiveAsType": null,
"taxableInd": "N",
"ti": 1,
"hi": 1,
"dailyWastePercent": 1,
"localShortDescription": "100000024 at 6000",
"uinType": null,
"uinLabel": null,
"captureTime": null,
"externalUinInd": "N",
"sourceMethod": "S",
"sourceWarehouse": null,
"promotableInd": "N",
"rfidInd": "N",
"ticketMeasureOfAnEach": 2,
"ticketPerCount": 1,
"ticketUom": "EA",
"primaryVariant": "100100090",
"primaryCostPack": "100100080",
"inboundHandlingDays": 1,
"rangedInd": "Y",
"costingLocation": 199,
"sellingPhaseStartDate": "2001-12-31",
"updSellDateOnStOrdRcpt": "N",
"updSellDateOnWh2stRcpt": "N",
"updSellDateOnSt2stRcpt": "N",
"minUnitsForSellDateReset": 50,
"mfgSugRetailInclTax": 20,
"mfgSugRetailExclTax": 18.16,
"postingClassifier": "String",
"customFlexAttribute": [
{
"name": "REVIEW_DATE",
"value": null,
"valueDate": null
}
],
"trait": {
"launchDate": "2001-12-31",
"quantityKeyOptions": null,
"manualPriceEntry": null,
"depositCode": null,
"foodStampInd": "N",
"wicInd": "N",
"proportionalTarePercent": 3,
"fixedTareValue": 3,
"fixedTareUom": "EA",
"rewardEligibleInd": "N",
"nationalBrandCompetitorItem": null,
"returnPolicy": null,
"stopSaleInd": "N",
"electronicMarketClubs": null,
"reportCode": null,
"requiredShelfLifeOnSelection": 1000,
"requiredShelfLifeOnReceipt": 1000,
"investmentBuyShelfLife": 1000,
"storeReorderableInd": "Y",
"rackSize": null,
"fullPalletItem": null,
"inStoreMarketBasket": null,
"storageLocation": null,
"alternateStorageLocation": null,
"returnableInd": "N",
"refundableInd": "N",
"backOrderInd": "N"
},
"localizationExtensions": [
{
"country": "BR",
"attributes": [
{
"name": "SPECIAL_CATEGORY_CODE",
"value": "WS_PRC_08",
"valueDate": "2001-12-31"
}
]
}
]
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}

Item Number Reservation Upload Service

The following services are included in this functional area:

  • Generate and Reserve Item Numbers
Manage Item Numbers

Functional Area

Items - Item Definition

Business Overview

This service allows external systems to create or delete item number reservations. A list of item identifiers can be provided to be reserved (or removed from reservation) within Merchandising. These pre-reserved numbers will not be considered for any auto-generated item numbers or manual item entry in Merchandising. Reserved numbers can be used as identifiers on new items through Item spreadsheet upload by providing the desired reserved item identifier and setting the Pre-Reserved flag to Yes on the Item_Master worksheet. During upload into Merchandising, the system will validate that the number exists as a reserved number. If found, the new item will be uploaded with the reserved number as its identifier and the reserved number will be deleted from the item reservation table ( SVC_ITEM_RESERVATION ).

  • With an Action of CREATE , this service accepts one or more item numbers to be reserved. If the Action is left blank, it will be assumed to be CREATE .

    • The provided item identifiers must not correspond to existing items in Merchandising, nor should they be an existing reserved item number.
  • With an Action of DELETE , this service accepts one or more currently reserved item numbers. These reservations will be removed, freeing up the identifiers for future item creation in Merchandising.

    • The provided item identifiers must be existing reserved item numbers.

Service Type

POST

ReST URL

MerchIntegrations/services/item/itemNumbers/manage

Input Payload Details

Table 5-524 Manage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items
identifers to be reserved.

Table 5-525 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (10)This optional feld should be used to
delete an existing reserved item
number. Valid values are CREATE or
DELETE. If this is not provided, it is
defaulted to CREATE.
itemYesString (25)References the item identifer that the
external system wants to reserve. This
item identifer should not exist in
item_masterand
svc_item_reservationtable.

Table 5-526 ManageError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemNoString (25)Reference the item identifer that

failed business validation
errorMessageYesString (2000)Contains the error message
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "action": "CREATE",
      "item": "1000012332"
    }
  ]
}

Response Code: 200 (Success) Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service. The element businessError will be present if the payload passes schema validation but an exception is caught while processing the business logic.

Table 5-527 ManageError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemNoString (25)Reference the item identifer that
failed business validation
errorMessageYesString (2000)Contains the error message
Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    {
      "item": "1000012332",
      "errorMessage": "An item with this number is already in use"
    }
  ]
}
Generate and Reserve Item Numbers
Functional Area

Items - Item Definition

Business Overview

This service allows external systems such as Oracle Retail Assortment Planning (AP) to send a request to Merchandising to generate and reserve one or more item numbers. The next available item numbers are generated by Merchandising and are sent back to the calling solution as a response. These reserved numbers will not be considered for any auto-generated item numbers or manual item entry in Merchandising.

  • This service allows the calling system to ask for 1 to n item numbers where n cannot exceed the ‘Maximum Item Reserved Quantity’, which is defined in the ‘Coresvc_Item_Configuration’ worksheet of the ‘Item Data Loading Configuration’ foundation data spreadsheet template, which is listed under the ‘Administration’ template type.

  • The service generates the numbers and they are considered reserved until they expire. The calling system can specify for how long the numbers are reserved. The days until expiry cannot exceed the ‘Maximum Item Expiry Days’, which is defined in the ‘Coresvc_Item_Configuration’ worksheet of the ‘Item Data Loading Configuration’ foundation data spreadsheet template, which is listed under the ‘Administration’ template type.

  • The generated numbers can be of any item number type for which Merchandising supports auto-generation: ITEM, UPC-A, UPC-AS, EAN13, or EAN13S.

  • Reserved numbers are stored in the Item Reservation table (SVC_ITEM_RESERVATION).

  • Reserved numbers can be used as identifiers on new items through Item spreadsheet upload by providing the desired, reserved item identifier and setting the Pre-Reserved flag to Yes on the Item_Master worksheet. During upload into Merchandising, the system will validate that the number exists as a reserved number. If found, the new item will be uploaded with the reserved number as its identifier and the reserved number will be deleted from the item reservation table (SVC_ITEM_RESERVATION).

Service Type
POST
ReST URL
MerchIntegrations/services/item/itemNumbers/reserve

Input Payload Details

Table 5-528 Reserve - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemNumberTypeYesString (6)Contains the type of item number to
reserve. It must be a valid number
type in RMS that supports auto
generation of item numbers,
including ITEM, UPC-A, UPC-AS,
EAN13.
quantityYesNumber (10)Contains the number of item
numbers to reserve. The maximum
number of items that can be
requested is confgurable using Item
Service confguration.
daysUntilExpiryYesNumber (10)Indicates how long the calling
solution wants Merchandising to
retain the reservation. After this
many days, the reservation will be
released allowing these numbers to
be used for other purposes. This is
required and must be a value greater
than 0. The max number of days is
confgurable using Item Service
confguration.
Sample Input Message
{
  "itemNumberType": "ITEM",
  "quantity": 50,
  "daysUntilExpiry": 14
}

Response Code: 200 (Success)

Table 5-529 ReserveResponse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection ofThis is collection record. Refer to
Objectcorresponding record details

Table 5-530 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)Contains the unique item number
reserved in RMS.
itemNumberTypeYesString (6)Contains the type of item number in
the item feld.
expiryDateYesdateThe date when the reserved item
number will expire.
Sample Response Message
{
  "items": [
    {
      "item": "100100076",
      "itemNumberType": "UPC-A",
      "expiryDate": "2001-12-31"
    }
  ]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Item Placeholder Upload Service

The following services are included in this functional area:

  • Create Placeholder Items
Create Placeholder Items

Functional Area

Items - Item Definition

Business Overview

This service supports subscribing to new placeholder items (Style/Color or Styles) created in A&IP as part of the slow item creation workflow. Using this service, A&IP can create items in the Item induction staging area within Merchandising with partial information of the item that can be enriched at a later point using the item induction process. The item number fetched using the Reserve item number service for the placeholder item number is used by A&IP.

The following item attributes are defaulted in this service -

  • The transaction level of the item will be 2.

  • The item will be a regular (non-pack, non-catchweight), sellable, orderable, inventoried, merchandise one.

  • The item will be created in the Worksheet status

  • The standard UOM will be set to Each (EA)

  • The Store order multiple will be set to ‘E’ (Eaches).

  • The item number type will be Manual.

  • The aggregate indictors for the 2nd, 3rd and 4th differentiators will be set to ‘N’.

  • The pallet/case/inner name will be set to PAL/CS/INR respectively.

  • The only UDA supported is LV (List of Values)

Service Type

POST

ReST URL
MerchIntegrations/services/item/placeholderItems/create

Input Payload Details

Table 5-531 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection ofIt’s a collection of Items record. Refer
Objectto items details

Table 5-532 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
itemParentNoString (25)The item at the level above this item.
This value must be predefned as an
item on the ITEM_MASTER table.
itemLevelYesNumber (1)The level of the item. Valid values are
1 - Style item, 2 - Sku

Table 5-532 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diff1NoString (10)A differentiator id which
differentiates a transaction level item
from its parent item. If the item on
the message is a parent this feld may
hold a differentiator group id.
deptYesNumber (4)The number of the department to
which this item belongs. This value
must be predefned on the DEPS
table. It cannot be modifed.
classYesNumber (4)The number of the class to which the
item belongs. This value must be
predefned on the CLASS table. It
cannot be modifed.
subclassYesNumber (4)The number of the subclass to which
the item belongs. This value must be
predefned on the SUBCLASS table. It
cannot be modifed.
itemDescriptionYesString (250)The long description of the item.
itemSuppliersNoCollection of
Object
It is a collection of ItemSupplier
record. Refer to itemSupplier details
itemUdasNoCollection of
Object
It is a collection of ItemUda’s record.
Refer to itemUdas details
itemAggregateIndNoString (1)Indicator to aggregate inventory and
sales for the item.
diff1AggregateIndNoString (1)Indicator for the corresponding diff.
Indicator to aggregate inventory and
sales for an item at Parent/Diff level
(e.g Style/Color or Style/Size).
brandNoString (120)This is added to capture the brand
information of an item.

Table 5-533 ItemSuppliers - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesNumber (10)The identifer of the supplier who
sources the item. This value must be
predefned on the SUPS table.

Table 5-534 ItemUdas - Object. See list of elements for detail

Element NameRequiredData TypeDescription
udaIdYesNumber (5)This feld contains a number
identifying the User-Defned Attribute
of type List of Value
udaValueNoString (30)This feld contains value of the Used
Defned attribute for the item.
Sample Input Message
{
  "items": [
    {
      "item": "100100076",
      "itemParent": null,
      "itemLevel": "1",
      "diff1": "BLACK",
      "dept": 3041,
      "class": 1,
      "subclass": 1,
      "itemDescription": "Placeholder item",
      "itemSuppliers": [
        {
          "supplier": 2400
        }
      ],
      "itemUdas": [
        {
          "udaId": 25021,
          "udaValue": "10"
        }
      ],
      "itemAggregateInd": "Y",
      "diff1AggregateInd": "Y",
      "brand": null
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Item Sourcing Upload Service

The following services are included in this functional area:

  • Create Item Supplier Countries

  • Create Item Supplier Countries of Manufacture

  • Create Item Supplier Country Dimensions

  • Create Item Supplier Country Locations

  • Create Item Supplier Translations

  • Create Item Suppliers

  • Delete Item Supplier Countries

  • Delete Item Supplier Countries of Manufacture

  • Delete Item Supplier Country Dimensions

  • Delete Item Supplier Country Locations

  • Delete Item Supplier Translations

  • Delete Item Suppliers

  • Update Item Supplier Countries

  • Update Item Supplier Countries of Manufacture

  • Update Item Supplier Country Dimensions

  • Update Item Supplier Country Locations

  • Update Item Supplier Translations

  • Update Item Suppliers

Create Item Supplier Countries
Functional Area
Items - Item Definition
Business Overview

This service is used to add country information to existing item supplier in Merchandising. The item supplier must already exist in Merchandising, else an error will be returned. Item supplier country can also be created together with the creation of a new item. For more details on item creation, see the Create Items service description.

Service Type
POST
ReST URL
MerchIntegrations/services/item/supplier/countries/create
Input Payload Details

Table 5-535 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-536 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
supplierNoCollection of
Object
References a collection of suppliers
associated to the item.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-537 Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesString (10)The identifer of the supplier who
sources the item. This value must be
predefned on the SUPS table.
countryOfSourcingNoCollection of
Object
References a collection of country of
sourcing of the item.

Table 5-538 CountryOfSourcing - Object. See list of elements for detail

Element NameRequiredData TypeDescription
originCountryYesString (3)The identifer for the country where
the item is sourced. This value must
be predefned on the COUNTRY table.
primaryCountryIndNoString (1)This indicates if the country is the
primary country for the item
supplier. Valid values are Y (yes) and
N (no).

Table 5-538 (Cont.) CountryOfSourcing - Object. See list of elements for detail

Element NameRequiredData TypeDescription
unitCostNoNumber
(20,4)
The current corporate unit cost for
the item in the supplier’s currency.
This feld will only be used to
establish the item supplier country
unit cost; it cannot be modifed.
leadTimeNoNumber (4)This feld contains the number of
days that will elapse between the date
an order is written and the delivery
to the store or warehouse from the
supplier. This feld is defaulted from
the default lead time set at the
supplier level.
pickupLeadTimeNoNumber (4)Contains time it takes to get the item
from the Supplier to the Initial
Receiving Location. This value will be
defaulted to the
item_supp_country_loc pickup lead
time feld. The ordering dialog will
reference the item/supplier/country/
location pickup lead time as the value
may vary by location.
mininumOrderQuantityNoNumber
(12,4)
This feld contains the minimum
quantity that can be ordered at one
time from the supplier for the item.
maximumOrderQuantityNoNumber
(12,4)
This feld contains the maximum
quantity that can be ordered at one
time from the supplier for the item.
supplierHierarchyLevel1NoString (10)Highest level of supplier hierarchy (e.
g. manufacturer). This will be used
for assigning rebates that come from
a level in the supply chain that is
higher than the supplier. This
information is stored on
item_supp_country for defaulting into
item_supp_country_loc.
supplierHierarchyLevel2NoString (10)Second highest level of supplier
hierarchy. This information is stored
on item_supp_country for defaulting
into item_supp_country_loc.
supplierHierarchyLevel3NoString (10)Third highest level of supplier
hierarchy. This information is stored
on item_supp_country for defaulting
into item_supp_country_loc.
defaultUopNoString (6)Contains the default unit of purchase
for the item/supplier/country. Valid
values include: Standard Units of
Measure C for Case P for Pallet
supplierPackSizeNoNumber
(12,4)
Contains the quantity that orders
must be placed in multiples of for the
supplier for the item.
innerPackSizeNoNumber
(12,4)
This feld contains the break pack size
for this item from the supplier.

Table 5-538 (Cont.) CountryOfSourcing - Object. See list of elements for detail

Element NameRequiredData TypeDescription
tiNoNumber (12)Number of shipping units (cases) that
make up one tier of a pallet. Multiply
TI x HI to get total number of units
(cases) for a pallet.
hiNoNumber (12)Number of tiers that make up a
complete pallet (height). Multiply TI x
HI to get total number of units (cases)
for a pallet.
costUomNoString (4)Unit of measure associated with the
item cost. It is held to allow costs to
be managed in a separate UOM from
the standard UOM.
toleranceTypeNoString (6)The unit of the tolerances for catch
weight simple packs: A - actual, P -
percent.
minimumToleranceNoNumber
(12,4)
The minimum tolerance value for a
catch weight simple pack.
maximumToleranceNoNumber
(12,4)
The maximum tolerance value for a
catch weight simple pack.
supplierHierarchyType1NoString (6)Identifes partner type of supplier
hierarchy level 1 for the foreign key
to the partner table.
supplierHierarchyType2NoString (6)Identifes partner type of supplier
hierarchy level 2 for the foreign key
to the partner table.
supplierHierarchyType3NoString (6)Identifes partner type of supplier
hierarchy level 3 for the foreign key
to the partner table.
roundLevelNoString (6)This column will be used to
determine how order quantities will
be rounded to Case, Layer and Pallet.
roundToInnerPercentageNoNumber
(12,4)
The Inner Rounding Threshold value.
Used to determine whether to round
partial Inner quantities up or down.
roundToCasePercentageNoNumber
(12,4)
The Case Rounding Threshold value.
Used to determine whether to round
partial Case quantities up or down.
roundToLayerPercentageNoNumber
(12,4)
The Layer Rounding Threshold value.
Used to determine whether to round
partial Layer quantities up or down.
roundToPalletPercentageNoNumber
(12,4)
The Pallet Rounding Threshold value.
Used to determine whether to round
partial Pallet quantities up or down.
packingMethodNoString (6)This feld indicates whether the
packing method of the item in the
container is Flat or Hanging. Values
for this feld are defned in PKMT
code type. Examples are: FLAT - Flat,
HANG - Hanging.

Table 5-538 (Cont.) CountryOfSourcing - Object. See list of elements for detail

Element NameRequiredData TypeDescription
defaultExpenseProflesIndNoString (1)This feld indicates whether expense
profles will be defaulted to new item-
supplier-country relationship.
purchaseTypeNoString (1)This contains a code to indicate
whether the item is normal
merchandise (i. e. owned by the
retailer), consignment stock or a
concession item. Valid values are 0 -
Owned, 1 - Consignment, 2 -
Concession.
calculationBasisNoString (1)This indicates if the cost for the
consignment/concession item will be
managed either based on cost per
unit or as a percentage of retail. Valid
values are C - Cost per Unit, P -
Purchase Rate.
purchaseRateNoNumber
(12,4)
This column contains the percentage
of the retail price which will
determine the cost paid to the
supplier for a consignment or
concession item.
pricingControlNoString (1)This indicates whether the price for
the consignment/concession item will
be managed by supplier or by retailer
when supplier-controlled pricing for
Consignment/Concession ownership
model is used within the
Merchandising suite of solutions.
Valid values are: R – Retailer S –
Supplier If no value is provided for
consignment/concession items, this
will be defaulted based on the default
pricing control at supplier site level.
dimensionNoCollection of
Object
References a collection of item
supplier country dimensions.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes. This collection is
treated as a single group and should
include all named fexible attributes
for the business entity. If any
confgured named attribute is
missing from the input collection, its
value will be set to NULL
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-539 Dimension - Object. See list of elements for detail

Element NameRequiredData TypeDescription
dimensionObjectYesString (6)Specifc object whose dimensions are
specifed in this record (e. g. case,
pallet, each). Valid codes are defned
in the DIMO code type. Examples are:
CA - Case, EA - Each.
tareWeightNoNumber
(12,4)
Amount of weight to be subtracted
for packaging materials. Used to
calculate the true net weight of the
dimensionObject.
tareTypeNoString (6)Indicates if tare weight for this
dimensionObject is wet or dry. Valid
values are defned in the TARE code
type. Examples are: W - Wet tare
weight, D - Dry tare weight.
lwhUomNoString (4)Unit of measurement for length,
width, and height (e. g. inches,
centimeters, feet). Valid values for
this feld are contained in uom feld
on uom_class table where uom_class
feld = DIMEN.
lengthNoNumber
(12,4)
Length of dim_object measured in
units specifed in lwh_uom.
widthNoNumber
(12,4)
Width of dim_object measured in
units specifed in lwh_uom.
heightNoNumber
(12,4)
Height of dim_object measured in
units specifed in lwh_uom.
liquidVolumeNoNumber
(12,4)
Liquid volume, or capacity, of
dim_object measured in units
specifed in volume_uom. Liquid
volumes are only convertible to other
liquid volumes.
liquidVolumeUomNoString (4)Unit of measurement for
liquid_volume (e. g. ounces, liters).
Liquid volumes are only convertible
to other liquid volumes. Valid values
for this feld are contained in uom
feld on uom_class table where
uom_class feld = LVOL.
statisticalCaseNoString (12)Statistical value of the dim_objects
dimensions to be used for loading
purposes.
weightUomNoString (4)Unit of measurement for weight (e. g.
pounds, kilograms). Valid values for
this feld are contained in uom feld
on uom_class table where uom_class
feld = MASS.
weightNoNumber
(12,4)
Weight of dim_object measured in
units specifed in weight_uom.

Table 5-539 (Cont.) Dimension - Object. See list of elements for detail

Element NameRequiredData TypeDescription
netWeightNoNumber
(12,4)
Unit of measurement for length,
width, and height (e. g. inches,
centimeters, feet). Valid values for
this feld are contained in uom feld
on uom_class table where uom_class
feld = DIMEN.
presentationMethodNoString (6)Describes the packaging (if any) being
taken into consideration in the
specifed dimensions. Valid codes are
defned in the PCKT code type.
Examples are: JHOOK - Peggable
Packaging, STACK - Stackable
Packaging.

Table 5-540 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.

Table 5-541 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection of
Object
This holds the details of localization
attributes.

Table 5-542 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "dataLoadingDestination": "RMS",
      "supplier": [
        {
          "supplier": "2400",
          "countryOfSourcing": [
            {
              "originCountry": "US",
              "primaryCountryInd": "Y",
              "unitCost": 9.65,
              "leadTime": 1,
              "pickupLeadTime": 1,
              "mininumOrderQuantity": 1,
              "maximumOrderQuantity": 1,
              "supplierHierarchyLevel1": null,
              "supplierHierarchyLevel2": null,
              "supplierHierarchyLevel3": null,
              "defaultUop": null,
              "supplierPackSize": 1,
              "innerPackSize": 1,
              "ti": 1,
              "hi": 1,
              "costUom": "EA",
              "toleranceType": null,
              "minimumTolerance": 76.00,
              "maximumTolerance": 69.00,
              "supplierHierarchyType1": null,
              "supplierHierarchyType2": null,
              "supplierHierarchyType3": null,
              "roundLevel": "C",
              "roundToInnerPercentage": 50,
              "roundToCasePercentage": 50,
              "roundToLayerPercentage": 50,
              "roundToPalletPercentage": 50,
              "packingMethod": "HANG",
              "defaultExpenseProfilesInd": "Y",
              "purchaseType": "0",
              "calculationBasis": null,
              "purchaseRate": 18.00,
              "pricingControl": "R",
              "dimension": [
                {
                  "dimensionObject": "CA",
                  "tareWeight": 3,
                  "tareType": "D",
                  "lwhUom": "IN",
                  "length": 3,
                  "width": 3,
                  "height": 3,
                  "liquidVolume": 3,
                  "liquidVolumeUom": "EA",
                  "statisticalCase": null,
                  "weightUom": "EA",
                  "weight": 3,
                  "netWeight": 11.00,
                  "presentationMethod": null
                }
              ],
              "customFlexAttribute": [
                {
                  "name": "REVIEW_DATE",
                  "value": null,
                  "valueDate": "2001-12-31"
                }
              ],
              "localizationExtensions": [
                {
                  "country": "BR",
                  "attributes": [
                    {
                      "name": "SPECIAL_CATEGORY_CODE",
                      "value": "WS_PRC_08",
                      "valueDate": "2001-12-31"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "localizationExtensions": [
        {
          "country": "BR",
          "attributes": [
            {
              "name": "SPECIAL_CATEGORY_CODE",
              "value": "WS_PRC_08",
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Create Item Supplier Countries of Manufacture

Functional Area

Items - Item Definition

Business Overview

This service is used to add item supplier manufacturing country to an existing item supplier in Merchandising. The item supplier must already exist in Merchandising, else an error will be returned. Item supplier manufacturing country can also be created together with the creation of a new item. For more details on item creation, see the Create Items service description.

Service Type

POST

ReST URL

MerchIntegrations/services/item/supplier/countriesOfManufacture/create

Input Payload Details

Table 5-543 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-544 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.

Table 5-544 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierNoCollection of
Object
References a collection of suppliers
associated to the item.
localizationExtensionsNoCollection ofHolds optional localization attributes
Objectthat will be processed by the
localization extension module.

Table 5-545 Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesString (10)The identifer of the supplier who
sources the item. This value must be
predefned on the SUPS table.
countryOfManufactureNoCollection of
Object
References a collection of country of
manufacture of the item.

Table 5-546 CountryOfManufacture - Object. See list of elements for detail

Element NameRequiredData TypeDescription
manufacturerCountryYesString (23)Country ID of manufacturer.
primaryManufacturerCount
ryInd
NoString (1)Indicates if it’s the primary country of
manufacturer.

Table 5-547 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-548 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100300001",
      "dataLoadingDestination": "RMS",
      "supplier": [
        {
          "supplier": "2400",
          "countryOfManufacture": [
            {
              "manufacturerCountry": "BR",
              "primaryManufacturerCountryInd": "N"
            }
          ]
        }
      ],
      "localizationExtensions": [
        {
          "country": "BR",
          "attributes": [
            {
              "name": "SPECIAL_CATEGORY_CODE",
              "value": "WS_PRC_08",
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Create Item Supplier Country Dimensions

Functional Area

Items - Item Definition

Business Overview

This service is used to add dimensions to an existing item supplier country in Merchandising. Dimensions are not required for an item. However, if non-standard units of measure will be used for the item there must be a case-type dimension provided. For example, for a selling unit retail to be defined in ounces there must be a dimension defined containing the liquid and volume to be used when converting between a unit and an ounce. The item supplier country must already exist in Merchandising, else an error will be returned. Item supplier country dimension can also be created together with the creation of a new item. For more details on item creation, see the Create Items service description.

Service Type
POST
ReST URL
MerchIntegrations/services/item/supplier/country/dimensions/create

Input Payload Details

Table 5-549 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-550 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
supplierNoCollection of
Object
References a collection of suppliers
associated to the item.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-551 Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesString (10)The identifer of the supplier who
sources the item. This value must be
predefned on the SUPS table.
countryOfSourcingNoCollection of
Object
References a collection of country of
sourcing of the item.

Table 5-552 CountryOfSourcing - Object. See list of elements for detail

Element NameRequiredData TypeDescription
originCountryYesString (3)The identifer for the country where
the item is sourced. This value must
be predefned on the COUNTRY table.
dimensionNoCollection of
Object
References a collection of item
supplier country dimensions.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-553 Dimension - Object. See list of elements for detail

Element NameRequiredData TypeDescription
dimensionObjectYesString (6)Specifc object whose dimensions are
specifed in this record (e. g. case,
pallet, each). Valid codes are defned
in the DIMO code type. Examples are:
CA - Case, EA - Each.
tareWeightNoNumber
(12,4)
Amount of weight to be subtracted
for packaging materials. Used to
calculate the true net weight of the
dimensionObject.
tareTypeNoString (6)Indicates if tare weight for this
dimensionObject is wet or dry. Valid
values are defned in the TARE code
type. Examples are: W - Wet tare
weight, D - Dry tare weight.
lwhUomNoString (4)Unit of measurement for length,
width, and height (e. g. inches,
centimeters, feet). Valid values for
this feld are contained in uom feld
on uom_class table where uom_class
feld = DIMEN.
lengthNoNumber
(12,4)
Length of dim_object measured in
units specifed in lwh_uom.
widthNoNumber
(12,4)
Width of dim_object measured in
units specifed in lwh_uom.
heightNoNumber
(12,4)
Height of dim_object measured in
units specifed in lwh_uom.

Table 5-553 (Cont.) Dimension - Object. See list of elements for detail

Element NameRequiredData TypeDescription
liquidVolumeNoNumber
(12,4)
Liquid volume, or capacity, of
dim_object measured in units
specifed in volume_uom. Liquid
volumes are only convertible to other
liquid volumes.
liquidVolumeUomNoString (4)Unit of measurement for
liquid_volume (e. g. ounces, liters).
Liquid volumes are only convertible
to other liquid volumes. Valid values
for this feld are contained in uom
feld on uom_class table where
uom_class feld = LVOL.
statisticalCaseNoString (12)Statistical value of the dim_objects
dimensions to be used for loading
purposes.
weightUomNoString (4)Unit of measurement for weight (e. g.
pounds, kilograms). Valid values for
this feld are contained in uom feld
on uom_class table where uom_class
feld = MASS.
weightNoNumber
(12,4)
Weight of dim_object measured in
units specifed in weight_uom.
netWeightNoNumber
(12,4)
Unit of measurement for length,
width, and height (e. g. inches,
centimeters, feet). Valid values for
this feld are contained in uom feld
on uom_class table where uom_class
feld = DIMEN.
presentationMethodNoString (6)Describes the packaging (if any) being
taken into consideration in the
specifed dimensions. Valid codes are
defned in the PCKT code type.
Examples are: JHOOK - Peggable
Packaging, STACK - Stackable
Packaging.

Table 5-554 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-555 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.

Table 5-555 (Cont.) Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "102250001",
      "dataLoadingDestination": "RMS",
      "supplier": [
        {
          "supplier": "2400",
          "countryOfSourcing": [
            {
              "originCountry": "US",
              "dimension": [
                {
                  "dimensionObject": "CA",
                  "tareWeight": 3,
                  "tareType": "D",
                  "lwhUom": "IN",
                  "length": 3,
                  "width": 3,
                  "height": 3,
                  "liquidVolume": 3,
                  "liquidVolumeUom": "EA",
                  "statisticalCase": null,
                  "weightUom": "EA",
                  "weight": 3,
                  "netWeight": 11.00,
                  "presentationMethod": null
                }
              ],
              "localizationExtensions": [
                {
                  "country": "BR",
                  "attributes": [
                    {
                      "name": "SPECIAL_CATEGORY_CODE",
                      "value": "WS_PRC_08",
                      "valueDate": "2001-12-31"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "localizationExtensions": [
        {
          "country": "BR",
          "attributes": [
            {
              "name": "SPECIAL_CATEGORY_CODE",
              "value": "WS_PRC_08",
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Create Item Supplier Country Locations

Functional Area

Items - Item Definition

Business Overview

This service is used to add location information to an existing item supplier country in Merchandising. Records are not required at this level for an item however, if provided the values override those defined at the item/supplier/country level for the specified location(s). The item supplier country must already exist in Merchandising, else an error will be returned.

Item supplier country location can also be created together with the creation of a new item. For more details on item creation, see the Create Items service description.

Service Type

POST

ReST URL
MerchIntegrations/services/item/supplier/country/locations/create

Input Payload Details

Table 5-556 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-557 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
itemSuppCountryLocHierarc
hyLevel
NoString (2)The level of the organizational
hierarchy used to create item
supplier country location
relationships. Valid values are: ‘AS’ -
All Store, ‘S’ - Store, ‘DW’- Default
Warehouse, ‘AW’ - All Warehouses,
‘W’ - Warehouse, ‘PW’ - Physical
Warehouse, ‘D’ - District, ‘R’ - Region,
‘A’ - Area, ‘T’ - Transfer zone, ‘L’ -
Location trait.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
supplierNoCollection of
Object
References a collection of suppliers
associated to the item.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-558 Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesString (10)The identifer of the supplier who
sources the item. This value must be
predefned on the SUPS table.

Table 5-558 (Cont.) Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryOfSourcingNoCollection ofReferences a collection of country of
Objectsourcing of the item.

Table 5-559 CountryOfSourcing - Object. See list of elements for detail

Element NameRequiredData TypeDescription
originCountryYesString (3)The identifer for the country where
the item is sourced. This value must
be predefned on the COUNTRY table.
locationNoCollection of
Object
References a collection of item
supplier country locations.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-560 Location - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hierarchyIdNoNumber (10)The specifc location id for this Item
Supplier Country Loc message.
Corresponds with the value used in
the iscloc_hier_level feld.
unitCostNoNumber
(20,4)
The unit cost for the item at the item
supplier country loc level in the
supplier’s currency. This feld will be
used for creating new records, not
updating existing records.
negotiatedItemCostNoNumber
(20,4)
This will hold the supplier negotiated
item cost.
pickupLeadTimeNoNumber (4)Contains time it takes to get the item
from the Supplier to the Initial
Receiving Location. This value will be
defaulted to the
item_supp_country_loc pickup lead
time feld. The ordering dialog will
reference the item/supplier/country/
location pickup lead time as the value
may vary by location.
roundLevelNoString (6)This column will be used to
determine how order quantities will
be rounded to Case, Layer and Pallet.
roundToCasePercentageNoNumber
(12,4)
The Case Rounding Threshold value.
Used to determine whether to round
partial case quantities up or down.
roundToLayerPercentageNoNumber
(12,4)
The Layer Rounding Threshold value.
Used to determine whether to round
partial Layer quantities up or down.

Table 5-560 (Cont.) Location - Object. See list of elements for detail

Element NameRequiredData TypeDescription
roundToPalletPercentageNoNumber
(12,4)
The Pallet Rounding Threshold value.
Used to determine whether to round
partial Pallet quantities up or down.
roundToInnerPercentageNoNumber
(12,4)
The Inner Rounding Threshold value.
Used to determine whether to round
partial Inner quantities up or down.
supplierHierarchyLevel1NoString (10)Highest level of supplier hierarchy (e.
g. manufacturer). This will be used
forassigning rebates that come from a
level in the supply chain that is
higher than the supplier.
supplierHierarchyLevel2NoString (10)Second highest level of supplier
hierarchy. Rebates at this level will
include all eligible supplier/item/
country/loc records assigned to this
supplier hierarchy level.
supplierHierarchyLevel3NoString (10)Third highest level of supplier
hierarchy, used for assigning rebates
by a level other than supplier.
costUomNoString (4)Unit of measure associated with the
item cost. It is held to allow costs to
be managed in a separate UOM from
the standard UOM.
purchaseTypeNoString (1)This contains a code to indicate
whether the item is normal
merchandise (i. e. owned by the
retailer), consignment stock or a
concession item. Valid values are 0 -
Owned, 1 - Consignment, 2 -
Concession.
calculationBasisNoString (1)This indicates if the cost for the
consignment/concession item will be
managed either based on cost per
unit or as a percentage of retail. Valid
values are C - Cost per Unit, P -
Purchase Rate.
purchaseRateNoNumber
(12,4)
This column contains the percentage
of the retail price which will
determine the cost paid to the
supplier for a consignment or
concession item.

Table 5-560 (Cont.) Location - Object. See list of elements for detail

Element NameRequiredData TypeDescription
pricingControlNoString (1)This indicates whether the price for
the consignment/concession item will
be managed by supplier or by retailer
when supplier-controlled pricing for
Consignment/Concession ownership
model is used within the
Merchandising suite of solutions.
Valid values are:

R – Retailer

S – Supplier
If no value is provided for
consignment/concession items, this
will be defaulted based on the default
pricing control at supplier site level.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes. This collection is
treated as a single group and should
include all named, fexible attributes
for the business entity. If any
confgured named attribute is
missing from the input collection, its
value will be set to NULL.

Table 5-561 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.

Table 5-562 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-563 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100041",
      "itemSuppCountryLocHierarchyLevel": "S",
      "dataLoadingDestination": "RMS",
      "supplier": [
        {
          "supplier": "2400",
          "countryOfSourcing": [
            {
              "originCountry": "US",
              "location": [
                {
                  "hierarchyId": 1521,
                  "unitCost": 9.65,
                  "negotiatedItemCost": 9.65,
                  "pickupLeadTime": 1,
                  "roundLevel": "C",
                  "roundToCasePercentage": 50,
                  "roundToLayerPercentage": 50,
                  "roundToPalletPercentage": 50,
                  "roundToInnerPercentage": 50,
                  "supplierHierarchyLevel1": null,
                  "supplierHierarchyLevel2": null,
                  "supplierHierarchyLevel3": null,
                  "costUom": "EA",
                  "purchaseType": "0",
                  "calculationBasis": null,
                  "purchaseRate": 3,
                  "pricingControl": "R",
                  "customFlexAttribute": [
                    {
                      "name": "REVIEW_DATE",
                      "value": null,
                      "valueDate": "2001-12-31"
                    }
                  ]
                }
              ],
              "localizationExtensions": [
                {
                  "country": "BR",
                  "attributes": [
                    {
                      "name": "SPECIAL_CATEGORY_CODE",
                      "value": "WS_PRC_08",
                      "valueDate": "2001-12-31"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "localizationExtensions": [
        {
          "country": "BR",
          "attributes": [
            {
              "name": "SPECIAL_CATEGORY_CODE",
              "value": "WS_PRC_08",
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Create Item Supplier Translations

Functional Area

Items - Item Definition

Business Overview

If translations have been defined for items, at the supplier level, then they can be integrated as part of this service. This service will accept the language and the description specified in the language to add supplier level translations to an existing item in Merchandising.

Service Type
POST
ReST URL
MerchIntegrations/services/item/supplier/translations/create

Input Payload Details

Table 5-564 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-565 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
supplierNoCollection of
Object
References a collection of suppliers
associated to the item.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-566 Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesString (10)The identifer of the supplier who
sources the item. This value must be
predefned on the SUPS table.
translationNoCollection of
Object
References a collection of translations
of item supplier description felds.

Table 5-567 Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageYesNumber (6)This is the language ID.

Table 5-567 (Cont.) Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierDiff1NoString (120)This feld contains the frst supplier
differentiator and/or description. This
feld may only contain a value for
items with an item_parent.
supplierDiff2NoString (120)This feld contains the second
supplier differentiator and/or
description. This feld may only
contain a value for items with an
item_parent.
supplierDiff3NoString (120)This feld contains the third supplier
differentiator and/or description. This
feld may only contain a value for
items with an item_parent.
supplierDiff4NoString (120)This feld contains the fourth supplier
differentiator and/or description. This
feld may only contain a value for
items with an item_parent.
supplierLabelNoString (15)The supplier label for the item.

Table 5-568 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection of
Object
This holds the details of localization
attributes.

Table 5-569 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "dataLoadingDestination": "RMS",
      "supplier": [
        {
          "supplier": "2400",
          "translation": [
            {
              "language": 13,
              "supplierDiff1": "1",
              "supplierDiff2": "2",
              "supplierDiff3": "3",
              "supplierDiff4": "4",
              "supplierLabel": ""
            }
          ]
        }
      ],
      "localizationExtensions": [
        {
          "country": "BR",
          "attributes": [
            {
              "name": "SPECIAL_CATEGORY_CODE",
              "value": "WS_PRC_08",
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Create Item Suppliers
Functional Area
Items - Item Definition
Business Overview

This service is used to add item suppliers to an existing item in Merchandising. The item must already exist in Merchandising, else an error will be returned. Item supplier can also be created together with the creation of a new item. For more details on item creation, see the Create Items service description.

Service Type
POST
ReST URL
MerchIntegrations/services/item/suppliers/create
Input Payload Details

Table 5-570 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in
the collection.
itemsYesCollection of ObjectReferences a collection
of items.

Table 5-571 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer
of the main item on
the message.
dataLoadingDestinatio
n
NoString (6)This feld indicates if
the item will be
created in
Merchandising or the
staging tables. Valid
values are RMS or STG.
If not defned, the
default is STG.
supplierNoCollection of ObjectReferences a collection
of suppliers associated
to the item.
localizationExtensionsNoCollection of ObjectHolds optional
localization attributes
that will be processed
by the localization
extension module.

Table 5-572 Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesString (10)The identifer of the
supplier who sources
the item. This value
must be predefned on
the SUPS table.
primarySupplierIndNoString (3)Indicates if the
supplier is the primary
supplier for the item.
Valid values are Y (yes)
and N (no).
vpnNoString (30)The vendor product
number associated
with the item.
supplierLabelNoString (15)The supplier label for
the item.
consignmentRateNoNumber (12,4)This feld contains the
consignment rate for
this item for the
supplier.
supplierDiscontinueDa
te
NodateDate which the
supplier discontinues
an item. The retailor
should be aware that
the supplier is able to
reuse a UPC after 30
months and should
work to ensure that no
data exists in RMS for
a UPC 30 months after
it has been
discontinued.
directShipIndNoString (1)Contains a value of Yes
to indicate that any
item asssociated with
this supplier is eligible
for a direct shipment
from the supplier to
the customer.
palletNameNoString (6)Code referencing the
name used to refer to
the pallet. Valid codes
are defned in the
PALN code type.
Examples are FLA -
Flat, PAL - Pallet.

Table 5-572 (Cont.) Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
caseNameNoString (6)Code referencing the
name used to refer to
the case. Valid codes
are defned in the
CASN code type.
Examples are PACK -
Pack, BX - Box, BG -
Bag.
innerNameNoString (6)Code referencing the
name used to refer to
the inner. Valid codes
are defned in the
INRN code type.
Examples are SCS -
Sub-Case, SPACK - Sub-
Pack.
primaryCaseSizeNoString (6)Used only if AIP is
interfaced. Indicates
the primary case size
for the item supplier
when an orderable
item is confgured for
informal case types.
supplierDiff1NoString (120)This feld contains the
frst supplier
differentiator and/or
description. This feld
may only contain a
value for items with
an item_parent.
supplierDiff2NoString (120)This feld contains the
second supplier
differentiator and/or
description. This feld
may only contain a
value for items with
an item_parent.
supplierDiff3NoString (120)This feld contains the
third supplier
differentiator and/or
description. This feld
may only contain a
value for items with
an item_parent.
supplierDiff4NoString (120)This feld contains the
fourth supplier
differentiator and/or
description. This feld
may only contain a
value for items with
an item_parent.

Table 5-572 (Cont.) Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
concessionRateNoNumber (12,4)The concession rate is
the margin that a
particular supplier
receives for the sale of
a concession item.
defaultExpenseProfles
Ind
NoString (1)This feld indicates
whether expense
profles will be
defaulted to new item-
supplier relationship.
Valid values are Y (yes)
and N (no).
customFlexAttributeNoCollection of ObjectReferences a collection
of custom fexible
attributes. This
collection is treated as
a single group and
should include all
named fexible
attributes for the
business entity. If any
confgured named
attribute is missing
from the input
collection, its value
will be set to NULL
translationNoCollection of ObjectReferences a collection
of translations of item
supplier description
felds.
countryOfSourcingNoCollection of ObjectReferences a collection
of country of sourcing
of the item.
countryOfManufactur
e
NoCollection of ObjectReferences a collection
of country of
manufacture of the
item.
uomNoCollection of ObjectChild node holding
miscellaneous units of
measure (UOM) for an
item/supplier
combination.

Table 5-573 CountryOfSourcing - Object. See list of elements for detail

Element NameRequiredData TypeDescription
originCountryYesString (3)The identifer for the
country where the
item is sourced. This
value must be
predefned on the
COUNTRY table.
primaryCountryIndNoString (1)This indicates if the
country is the primary
country for the item
supplier. Valid values
are Y (yes) and N (no).
unitCostNoNumber (20,4)The current corporate
unit cost for the item
in the supplier’s
currency. This feld
will only be used to
establish the item
supplier country unit
cost; it cannot be
modifed.
leadTimeNoNumber (4)This feld contains the
number of days that
will elapse between
the date an order is
written and the
delivery to the store or
warehouse from the
supplier. This feld is
defaulted from the
default lead time set at
the supplier level.
pickupLeadTimeNoNumber (4)Contains time it takes
to get the item from
the Supplier to the
Initial Receiving
Location. This value
will be defaulted to the
item_supp_country_loc
pickup lead time feld.
The ordering dialog
will reference the
item/supplier/country/
location pickup lead
time as the value may
vary by location.
mininumOrderQuantit
y
NoNumber (12,4)This feld contains the
minimum quantity
that can be ordered at
one time from the
supplier for the item.

Table 5-573 (Cont.) CountryOfSourcing - Object. See list of elements for detail

Element NameRequiredData TypeDescription
maximumOrderQuant
ity
NoNumber (12,4)This feld contains the
maximum quantity
that can be ordered at
one time from the
supplier for the item.
supplierHierarchyLev
el1
NoString (10)Highest level of
supplier hierarchy (e.
g. manufacturer). This
will be used for
assigning rebates that
come from a level in
the supply chain that
is higher than the
supplier. This
information is stored
on item_supp_country
for defaulting into
item_supp_country_loc
.
supplierHierarchyLev
el2
NoString (10)Second highest level of
supplier hierarchy.
This information is
stored on
item_supp_country for
defaulting into
item_supp_country_loc
.
supplierHierarchyLev
el3
NoString (10)Third highest level of
supplier hierarchy.
This information is
stored on
item_supp_country for
defaulting into
item_supp_country_loc
.
defaultUopNoString (6)Contains the default
unit of purchase for
the item/supplier/
country. Valid values
include: Standard
Units of Measure C for
Case P for Pallet
supplierPackSizeNoNumber (12,4)Contains the quantity
that orders must be
placed in multiples of
for the supplier for the
item.
innerPackSizeNoNumber (12,4)This feld contains the
break pack size for
this item from the
supplier.

Table 5-573 (Cont.) CountryOfSourcing - Object. See list of elements for detail

Element NameRequiredData TypeDescription
tiNoNumber (12)Number of shipping
units (cases) that make
up one tier of a pallet.
Multiply TI x HI to get
total number of units
(cases) for a pallet.
hiNoNumber (12)Number of tiers that
make up a complete
pallet (height).
Multiply TI x HI to get
total number of units
(cases) for a pallet.
costUomNoString (4)Unit of measure
associated with the
item cost. It is held to
allow costs to be
managed in a separate
UOM from the
standard UOM.
toleranceTypeNoString (6)The unit of the
tolerances for catch
weight simple packs: A
- actual, P - percent.
minimumToleranceNoNumber (12,4)The minimum
tolerance value for a
catch weight simple
pack.
maximumToleranceNoNumber (12,4)The maximum
tolerance value for a
catch weight simple
pack.
supplierHierarchyTyp
e1
NoString (6)Identifes partner type
of supplier hierarchy
level 1 for the foreign
key to the partner
table.
supplierHierarchyTyp
e2
NoString (6)Identifes partner type
of supplier hierarchy
level 2 for the foreign
key to the partner
table.
supplierHierarchyTyp
e3
NoString (6)Identifes partner type
of supplier hierarchy
level 3 for the foreign
key to the partner
table.
roundLevelNoString (6)This column will be
used to determine how
order quantities will
be rounded to Case,
Layer and Pallet.

Table 5-573 (Cont.) CountryOfSourcing - Object. See list of elements for detail

Element NameRequiredData TypeDescription
roundToInnerPercenta
ge
NoNumber (12,4)The Inner Rounding
Threshold value. Used
to determine whether
to round partial Inner
quantities up or down.
roundToCasePercentag
e
NoNumber (12,4)The Case Rounding
Threshold value. Used
to determine whether
to round partial Case
quantities up or down.
roundToLayerPercent
age
NoNumber (12,4)The Layer Rounding
Threshold value. Used
to determine whether
to round partial Layer
quantities up or down.
roundToPalletPercenta
ge
NoNumber (12,4)The Pallet Rounding
Threshold value. Used
to determine whether
to round partial Pallet
quantities up or down.
packingMethodNoString (6)This feld indicates
whether the packing
method of the item in
the container is Flat or
Hanging. Values for
this feld are defned
in PKMT code type.
Examples are: FLAT -
Flat, HANG - Hanging.
defaultExpenseProfles
Ind
NoString (1)This feld indicates
whether expense
profles will be
defaulted to new item-
supplier-country
relationship.
purchaseTypeNoString (1)This contains a code to
indicate whether the
item is normal
merchandise (i. e.
owned by the retailer),
consignment stock or a
concession item. Valid
values are 0 - Owned,
1 - Consignment, 2 -
Concession.

Table 5-573 (Cont.) CountryOfSourcing - Object. See list of elements for detail

Element NameRequiredData TypeDescription
calculationBasisNoString (1)This indicates if the
cost for the
consignment/
concession item will
be managed either
based on cost per unit
or as a percentage of
retail. Valid values are
C - Cost per Unit, P -
Purchase Rate.
purchaseRateNoNumber (12,4)This column contains
the percentage of the
retail price which will
determine the cost
paid to the supplier for
a consignment or
concession item.
pricingControlNoString (1)This indicates whether
the price for the
consignment/
concession item will
be managed by
supplier or by retailer
when supplier-
controlled pricing for
Consignment/
Concession ownership
model is used within
the Merchandising
suite of solutions.Valid
values are:R - Retailer,
S - Supplier.If no value
is provided for
consignment/
concession items, this
will be defaulted
based on the default
pricing control at
supplier site level.
dimensionNoCollection of ObjectReferences a collection
of item supplier
country dimensions.

Table 5-573 (Cont.) CountryOfSourcing - Object. See list of elements for detail

Element NameRequiredData TypeDescription
customFlexAttributeNoCollection of ObjectReferences a collection
of custom fexible
attributes. This
collection is treated as
a single group and
should include all
named fexible
attributes for the
business entity. If any
confgured named
attribute is missing
from the input
collection, its value
will be set to NULL
localizationExtensionsNoCollection of ObjectHolds optional
localization attributes
that will be processed
by the localization
extension module.

Table 5-574 Dimension - Object. See list of elements for detail

Element NameRequiredData TypeDescription
dimensionObjectYesString (6)Specifc object whose
dimensions are
specifed in this record
(e. g. case, pallet, each).
Valid codes are
defned in the DIMO
code type. Examples
are: CA - Case, EA -
Each.
tareWeightNoNumber (12,4)Amount of weight to
be subtracted for
packaging materials.
Used to calculate the
true net weight of the
dimensionObject.
tareTypeNoString (6)Indicates if tare weight
for this
dimensionObject is
wet or dry. Valid
values are defned in
the TARE code type.
Examples are: W - Wet
tare weight, D - Dry
tare weight.

Table 5-574 (Cont.) Dimension - Object. See list of elements for detail

Element NameRequiredData TypeDescription
lwhUomNoString (4)Unit of measurement
for length, width, and
height (e. g. inches,
centimeters, feet).
Valid values for this
feld are contained in
uom feld on
uom_class table where
uom_class feld =
DIMEN.
lengthNoNumber (12,4)Length of dim_object
measured in units
specifed in lwh_uom.
widthNoNumber (12,4)Width of dim_object
measured in units
specifed in lwh_uom.
heightNoNumber (12,4)Height of dim_object
measured in units
specifed in lwh_uom.
liquidVolumeNoNumber (12,4)Liquid volume, or
capacity, of dim_object
measured in units
specifed in
volume_uom. Liquid
volumes are only
convertible to other
liquid volumes.
liquidVolumeUomNoString (4)Unit of measurement
for liquid_volume (e. g.
ounces, liters). Liquid
volumes are only
convertible to other
liquid volumes. Valid
values for this feld are
contained in uom feld
on uom_class table
where uom_class feld
= LVOL.
statisticalCaseNoString (12)Statistical value of the
dim_objects
dimensions to be used
for loading purposes.
weightUomNoString (4)Unit of measurement
for weight (e. g.
pounds, kilograms).
Valid values for this
feld are contained in
uom feld on
uom_class table where
uom_class feld =
MASS.

Table 5-574 (Cont.) Dimension - Object. See list of elements for detail

Element NameRequiredData TypeDescription
weightNoNumber (12,4)Weight of dim_object
measured in units
specifed in
weight_uom.
netWeightNoNumber (12,4)Unit of measurement
for length, width, and
height (e. g. inches,
centimeters, feet).
Valid values for this
feld are contained in
uom feld on
uom_class table where
uom_class feld =
DIMEN.
presentationMethodNoString (6)Describes the
packaging (if any)
being taken into
consideration in the
specifed dimensions.
Valid codes are
defned in the PCKT
code type. Examples
are: JHOOK - Peggable
Packaging, STACK -
Stackable Packaging.

Table 5-575 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute
name.
valueNoString (250)Holds the numeric or
string value of the
attribute.
valueDateNodateHolds the date value of
the attribute.

Table 5-576 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country
associated with the
localization attributes.
attributesYesCollection of ObjectThis holds the details
of localization
attributes.

Table 5-577 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute
name.
valueNoString (250)Holds the numeric or
string value of the
attribute.
valueDateNodateHolds the date value of
the attribute.

Table 5-578 CountryOfManufacture - Object. See list of elements for detail

Element NameRequiredData TypeDescription
manufacturerCountryYesString (23)Country ID of
manufacturer.
primaryManufacturer
CountryInd
NoString (1)Indicates if it’s the
primary country of
manufacturer.

Table 5-579 Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageYesNumber (6)This is the language
ID.
supplierDiff1NoString (120)This feld contains the
frst supplier
differentiator and/or
description. This feld
may only contain a
value for items with
an item_parent.
supplierDiff2NoString (120)This feld contains the
second supplier
differentiator and/or
description. This feld
may only contain a
value for items with
an item_parent.
supplierDiff3NoString (120)This feld contains the
third supplier
differentiator and/or
description. This feld
may only contain a
value for items with
an item_parent.

Table 5-579 (Cont.) Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierDiff4NoString (120)This feld contains the
fourth supplier
differentiator and/or
description. This feld
may only contain a
value for items with
an item_parent.
supplierLabelNoString (15)The supplier label for
the item.

Table 5-580 Uom - Object. See list of elements for detail

Element NameRequiredData TypeDescription
uomYesString (4)Contains the unit of
measure that the item
is being measured in.
valueYesNumber (20,4)Contains the
equivalent value of the
Item/Suppliers
shipping carton in the
associated unit of
measure.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"item": "100100076",
"dataLoadingDestination": "RMS",
"supplier": [
{
"supplier": "2400",
"primarySupplierInd": "Y",
"vpn": null,
"supplierLabel": null,
"consignmentRate": 3,
"supplierDiscontinueDate": "2001-12-31",
"directShipInd": "Y",
"palletName": "PAL",
"caseName": "CS",
"innerName": "INR",
"primaryCaseSize": null,
"supplierDiff1": null,
"supplierDiff2": null,
"supplierDiff3": null,
"supplierDiff4": null,
"concessionRate": 1,
"defaultExpenseProfilesInd": "Y",
"customFlexAttribute": [
{
"name": "REVIEW_DATE",
"value": null,
"valueDate": "2001-12-31"
}
],
"translation": [
{
"language": 2,
"supplierDiff1": null,
"supplierDiff2": null,
"supplierDiff3": null,
"supplierDiff4": null,
"supplierLabel": null
}
],
"countryOfSourcing": [
{
"originCountry": "US",
"primaryCountryInd": "Y",
"unitCost": 9.65,
"leadTime": 1,
"pickupLeadTime": 1,
"mininumOrderQuantity": 1,
"maximumOrderQuantity": 1,
"supplierHierarchyLevel1": null,
"supplierHierarchyLevel2": null,
"supplierHierarchyLevel3": null,
"defaultUop": "EA",
"supplierPackSize": 1,
"innerPackSize": 1,
"ti": 1,
"hi": 1,
"costUom": "EA",
"toleranceType": null,
"minimumTolerance": 76.00,
"maximumTolerance": 69.00,
"supplierHierarchyType1": null,
"supplierHierarchyType2": null,
"supplierHierarchyType3": null,
"roundLevel": "C",
"roundToInnerPercentage": 50,
"roundToCasePercentage": 50,
"roundToLayerPercentage": 50,
"roundToPalletPercentage": 50,
"packingMethod": "HANG",
"defaultExpenseProfilesInd": "Y",
"purchaseType": "0",
"calculationBasis": null,
"purchaseRate": 18.00,
"pricingControl": "R",
"dimension": [
{
"dimensionObject": "PA",
"tareWeight": 17.00,
"tareType": "D",
"lwhUom": "IN",
"length": 3,
"width": 3,
"height": 3,
"liquidVolume": 3,
"liquidVolumeUom": null,
"statisticalCase": null,
"weightUom": "LBS",
"weight": 3,
"netWeight": 11.00,
"presentationMethod": null
}
],
"customFlexAttribute": [
{
"name": "REVIEW_DATE",
"value": null,
"valueDate": "2001-12-31"
}
],
"localizationExtensions": [
{
"country": "BR",
"attributes": [
{
"name": "SPECIAL_CATEGORY_CODE",
"value": "WS_PRC_08",
"valueDate": "2001-12-31"
}
]
}
]
}
],
"countryOfManufacture": [
{
"manufacturerCountry": "BR",
"primaryManufacturerCountryInd": "N"
}
],
"uom": [
{
"uom": "STK",
"value": 10
}
]
}
],
"localizationExtensions": [
{
"country": "BR",
"attributes": [
{
"name": "SPECIAL_CATEGORY_CODE",
"value": "WS_PRC_08",
"valueDate": "2001-12-31"
}
]
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}
Create Item Supplier UOM

Functional Area

Items - Item Definition
Business Overview

Service to create miscellaneous units of measure (UOM) for an item/supplier combination. Supplier UOM can also be added together with the creation of a new item. This UOM indicates the equivalent of one unit of the item in the specified UOM.

For example, if the item is a single package of cigars, and the single package sold in stores contains 10 cigar ‘sticks’. The standard UOM of the item will be EA, and one Each of the item is a package of 10 cigar sticks. The retailer can create a MISC UOM of ‘Sticks’ and in Item Supplier UOM, the UOM would be set to ‘Sticks’ and a Value = 10 because there are 10 sticks in a single unit of the item. This definition will allow expense, assessment and/or up charge components to be created to calculate a tax. So, if the tax is 0.13 USD per stick, then the system will use the item supplier UOM record for Sticks to determine that 1 unit of the item is 10 sticks and will therefore calculate the cost component as 0.13 x 10 sticks = 1.30 USD for one package of cigars.

Service Type

POST

ReST URL

MerchIntegrations/services/item/supplier/uom/create

Input Payload Details

Table 5-581 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the
collection.
itemsYesCollection of ObjectReferences a collection
of items.

Table 5-582 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer
of the main item on
the message.
dataLoadingDestinatio
n
NoString (6)This feld indicates if
the item will be
created in
Merchandising or the
staging tables. Valid
values are RMS or STG.
If not defned, the
default is STG.
supplierNoCollection of ObjectReferences a collection
of suppliers associated
to the item.

Table 5-583 Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesString (10)The identifer of the
supplier who sources
the item. This value
must be predefned on
the SUPS table.
uomNoCollection of ObjectChild node holding
miscellaneous units of
measure (UOM) for an
item/supplier
combination.

Table 5-584 Uom - Object. See list of elements for detail

Element NameRequiredData TypeDescription
uomYesString (4)Contains the unit of
measure that the item
is being measured in.
valueYesNumber (20,4)Contains the
equivalent value of the
Item/Suppliers
shipping carton in the
associated unit of
measure.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"item": "100100076",
"dataLoadingDestination": "RMS",
"supplier": [
{
"supplier": "2400",
"uom": [
{
"uom": "STK",
"value": 10
}
]
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
"status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}
Delete Item Supplier Countries

Functional Area

Items - Item Definition

Business Overview

This service is used to delete existing item/supplier/country level information from Merchandising.

Service Type

DELETE

ReST URL
MerchIntegrations/services/item/supplier/countries/delete

Input Payload Details

Table 5-585 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-586 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer for the item.
supplierNoCollection ofReferences a collection of item
Objectsupplier.

Table 5-587 Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesString (10)Item Supplier affected by the deletion
activity.
countryOfSourcingNoCollection of
Object
References a collection of item
supplier country information.

Table 5-588 CountryOfSourcing - Object. See list of elements for detail

Element NameRequiredData TypeDescription
originCountryYesString (3)The supplier country affected by the
deletion activity.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "supplier": [
        {
          "supplier": "2400",
          "countryOfSourcing": [
            {
              "originCountry": "US"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Item Supplier Countries of Manufacture

Functional Area

Items - Item Definition

Business Overview

This service is used to delete an existing item supplier country of manufacturing information from Merchandising. In order to delete an item supplier manufacturing country, the supplier manufacturing country must exist for the item in Merchandising, otherwise, an error will be returned.

Service Type

DELETE
ReST URL
MerchIntegrations/services/item/supplier/countriesOfManufacture/delete
Input Payload Details

Table 5-589 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-590 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer for the item.
supplierNoCollection ofReferences a collection of item
Objectsupplier.

Table 5-591 Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesString (10)Item Supplier affected by the deletion
activity.
countryOfManufactureNoCollection of
Object
References a collection of country of
manufacture of the item.

Table 5-592 CountryOfManufacture - Object. See list of elements for detail

Element NameRequiredData TypeDescription
manufacturerCountryYesString (23)Country ID of manufacturer.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100000059",
      "supplier": [
        {
          "supplier": "2400",
          "countryOfManufacture": [
            {
              "manufacturerCountry": "BR"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Delete Item Supplier Country Dimensions

Functional Area

Items - Item Definition

Business Overview

This service is used to delete item supplier country dimensions in Merchandising. In order to delete an item supplier country dimension, the supplier country dimension must exist for the item in Merchandising, otherwise, an error will be returned.

Service Type
DELETE
ReST URL
MerchIntegrations/services/item/supplier/country/dimensions/delete

Input Payload Details

Table 5-593 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-594 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer for the item.
supplierNoCollection ofReferences a collection of item
Objectsupplier.

Table 5-595 Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesString (10)Item Supplier affected by the deletion
activity.
countryOfSourcingNoCollection of
Object
References a collection of item
supplier country information.

Table 5-596 CountryOfSourcing - Object. See list of elements for detail

Element NameRequiredData TypeDescription
originCountryYesString (3)The supplier country affected by the
deletion activity.
dimensionNoCollection of
Object
References a collection of item
supplier country dimension.

Table 5-597 Dimension - Object. See list of elements for detail

Element NameRequiredData TypeDescription
dimensionObjectYesString (6)The dimension object.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "supplier": [
        {
          "supplier": "2400",
          "countryOfSourcing": [
            {
              "originCountry": "US",
              "dimension": [
                {
                  "dimensionObject": "CA"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Item Supplier Country Locations
Functional Area
Items - Item Definition
Business Overview

This service is used to delete item supplier country locations from an existing item supplier country in Merchandising. To delete an item supplier country location, the supplier country location must exist for the item in Merchandising; otherwise, an error will be returned.

Service Type
DELETE
ReST URL
MerchIntegrations/services/item/supplier/country/locations/delete
Input Payload Details

Table 5-598 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-599 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer for the item.
hierarchyLevelNoString (2)The level of the organizational
hierarchy used to delete item supplier
country location relationships. Valid
values are: ‘AS’ - All Store, ‘S’ - Store,
‘DW’- Default Warehouse, ‘AW’ - All
Warehouses, ‘W’ - Warehouse, ‘PW’ -
Physical Warehouse, ‘AI’ - All internal
fnishers, ‘I’ - Internal fnisher, ‘D’ -
District, ‘R’ - Region, ‘A’ - Area, ‘T’ -
Transfer zone, ‘L’ - Location trait.
supplierNoCollection of
Object
References a collection of item
supplier.

Table 5-600 Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesString (10)Item Supplier affected by the deletion
activity.
countryOfSourcingNoCollection of
Object
References a collection of item
supplier country information.

Table 5-601 CountryOfSourcing - Object. See list of elements for detail

Element NameRequiredData TypeDescription
originCountryYesString (3)The supplier country affected by the
deletion activity.
locationNoCollection ofReferences a collection of item
Objectsupplier country location.

Table 5-602 Location - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hierarchyIdYesNumber (10)The id of the location hierarchy level
affected by the message.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100068",
      "hierarchyLevel": "S",
      "supplier": [
        {
          "supplier": "2400",
          "countryOfSourcing": [
            {
              "originCountry": "US",
              "location": [
                {
                  "hierarchyId": 1111
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Item Supplier Translations

Functional Area

Items - Item Definition

Business Overview

This service is used to delete supplier level translations from an existing item in Merchandising.

Service Type

DELETE

ReST URL

MerchIntegrations/services/item/supplier/translations/delete

Input Payload Details

Table 5-603 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-604 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer for the item.
supplierNoCollection of
Object
References a collection of item
supplier.

Table 5-605 Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesString (10)Item Supplier affected by the deletion
activity.
translationNoCollection of
Object
References a collection of translations
of item supplier description felds.

Table 5-606 Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageYesNumber (6)The language ID.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "supplier": [
        {
          "supplier": "2400",
          "translation": [
            {
              "language": 2
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Item Suppliers

Functional Area

Items - Item Definition

Business Overview

This service is used to delete supplier details from existing items within Merchandising. In order to delete an item supplier, the specified supplier must exist for the item in Merchandising, else an error will be returned.

Service Type

DELETE

ReST URL

MerchIntegrations/services/item/suppliers/delete

Input Payload Details

Table 5-607 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-608 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer for the item.
supplierNoCollection ofReferences a collection of item
Objectsupplier.

Table 5-609 Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesString (10)Item Supplier affected by the deletion
activity.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "supplier": [
        {
          "supplier": "2400"
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Item Supplier UOM

Functional Area

Items - Item Definition

Business Overview

Service to delete miscellaneous units of measure (UOM) for an item/supplier combination.

Service Type

DELETE
ReST URL
MerchIntegrations/services/item/supplier/uom/delete

Input Payload Details

Table 5-610 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the
collection.
itemsYesCollection of ObjectReferences a collection
of items.

Table 5-611 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer
for the item.
supplierYesCollection of ObjectReferences a collection
of item supplier.

Table 5-612 Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesString (10)Item Supplier affected
by the deletion activity.
uomYesCollection of ObjectChild node.

Table 5-613 Uom - Object. See list of elements for detail

Element NameRequiredData TypeDescription
uomYesString (4)Contains the unit of
measure that the item
is being measured in.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"item": "100100076",
"supplier": [
{
"supplier": "2400",
"uom": [
{
"uom": "STK"
}
]
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
"status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}
Update Item Supplier Countries

Functional Area

Items - Item Definition

Business Overview

This service is used to modify existing item supplier country information in Merchandising. To update item supplier country information, the supplier country must exist for the item in Merchandising; otherwise, an error will be returned.

Service Type

PUT

ReST URL

MerchIntegrations/services/item/supplier/countries/update
Availability During Nightly Batch Cycle

This service will not be available when batches that affect costs are in-progress.

Input Payload Details

Table 5-614 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-615 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
supplierNoCollection of
Object
References a collection of suppliers
associated to the item.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-616 Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesString (10)The identifer of the supplier who
sources the item. This value must be
predefned on the SUPS table.
countryOfSourcingNoCollection of
Object
References a collection of country of
sourcing of the item.

Table 5-617 CountryOfSourcing - Object. See list of elements for detail

Element NameRequiredData TypeDescription
originCountryYesString (3)The identifer for the country where
the item is sourced. This value must
be predefned on the COUNTRY table.
primaryCountryIndNoString (1)This indicates if the country is the
primary country for the item
supplier. Valid values are Y (yes) and
N (no).
unitCostNoNumber
(20,4)
The current corporate unit cost for
the item in the supplier’s currency.
This feld will only be used to
establish the item supplier country
unit cost; it cannot be modifed.

Table 5-617 (Cont.) CountryOfSourcing - Object. See list of elements for detail

Element NameRequiredData TypeDescription
leadTimeNoNumber (4)This feld contains the number of
days that will elapse between the date
an order is written and the delivery
to the store or warehouse from the
supplier. This feld is defaulted from
the default lead time set at the
supplier level.
pickupLeadTimeNoNumber (4)Contains time it takes to get the item
from the Supplier to the Initial
Receiving Location. This value will be
defaulted to the
item_supp_country_loc pickup lead
time feld. The ordering dialog will
reference the item/supplier/country/
location pickup lead time as the value
may vary by location.
mininumOrderQuantityNoNumber
(12,4)
This feld contains the minimum
quantity that can be ordered at one
time from the supplier for the item.
maximumOrderQuantityNoNumber
(12,4)
This feld contains the maximum
quantity that can be ordered at one
time from the supplier for the item.
supplierHierarchyLevel1NoString (10)Highest level of supplier hierarchy (e.
g. manufacturer). This will be used
for assigning rebates that come from
a level in the supply chain that is
higher than the supplier. This
information is stored on
item_supp_country for defaulting into
item_supp_country_loc.
supplierHierarchyLevel2NoString (10)Second highest level of supplier
hierarchy. This information is stored
on item_supp_country for defaulting
into item_supp_country_loc.
supplierHierarchyLevel3NoString (10)Third highest level of supplier
hierarchy. This information is stored
on item_supp_country for defaulting
into item_supp_country_loc.
defaultUopNoString (6)Contains the default unit of purchase
for the item/supplier/country. Valid
values include: Standard Units of
Measure C for Case P for Pallet
supplierPackSizeNoNumber
(12,4)
Contains the quantity that orders
must be placed in multiples of for the
supplier for the item.
innerPackSizeNoNumber
(12,4)
This feld contains the break pack size
for this item from the supplier.
tiNoNumber (12)Number of shipping units (cases) that
make up one tier of a pallet. Multiply
TI x HI to get total number of units
(cases) for a pallet.

Table 5-617 (Cont.) CountryOfSourcing - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hiNoNumber (12)Number of tiers that make up a
complete pallet (height). Multiply TI x
HI to get total number of units (cases)
for a pallet.
costUomNoString (4)Unit of measure associated with the
item cost. It is held to allow costs to
be managed in a separate UOM from
the standard UOM.
toleranceTypeNoString (6)The unit of the tolerances for catch
weight simple packs: A - actual, P -
percent.
minimumToleranceNoNumber
(12,4)
The minimum tolerance value for a
catch weight simple pack.
maximumToleranceNoNumber
(12,4)
The maximum tolerance value for a
catch weight simple pack.
supplierHierarchyType1NoString (6)Identifes partner type of supplier
hierarchy level 1 for the foreign key
to the partner table.
supplierHierarchyType2NoString (6)Identifes partner type of supplier
hierarchy level 2 for the foreign key
to the partner table.
supplierHierarchyType3NoString (6)Identifes partner type of supplier
hierarchy level 3 for the foreign key
to the partner table.
roundLevelNoString (6)This column will be used to
determine how order quantities will
be rounded to Case, Layer and Pallet.
roundToInnerPercentageNoNumber
(12,4)
The Inner Rounding Threshold value.
Used to determine whether to round
partial Inner quantities up or down.
roundToCasePercentageNoNumber
(12,4)
The Case Rounding Threshold value.
Used to determine whether to round
partial Case quantities up or down.
roundToLayerPercentageNoNumber
(12,4)
The Layer Rounding Threshold value.
Used to determine whether to round
partial Layer quantities up or down.
roundToPalletPercentageNoNumber
(12,4)
The Pallet Rounding Threshold value.
Used to determine whether to round
partial Pallet quantities up or down.
packingMethodNoString (6)This feld indicates whether the
packing method of the item in the
container is Flat or Hanging. Values
for this feld are defned in PKMT
code type. Examples are: FLAT - Flat,
HANG - Hanging.
defaultExpenseProflesIndNoString (1)This feld indicates whether expense
profles will be defaulted to new item-
supplier-country relationship.

Table 5-617 (Cont.) CountryOfSourcing - Object. See list of elements for detail

Element NameRequiredData TypeDescription
purchaseTypeNoString (1)This contains a code to indicate
whether the item is normal
merchandise (i. e. owned by the
retailer), consignment stock or a
concession item. Valid values are 0 -
Owned, 1 - Consignment, 2 -
Concession.
calculationBasisNoString (1)This indicates if the cost for the
consignment/concession item will be
managed either based on cost per
unit or as a percentage of retail. Valid
values are C - Cost per Unit, P -
Purchase Rate.
purchaseRateNoNumber
(12,4)
This column contains the percentage
of the retail price which will
determine the cost paid to the
supplier for a consignment or
concession item.
pricingControlNoString (1)This indicates whether the price for
the consignment/concession item will
be managed by supplier or by retailer
when supplier-controlled pricing for
Consignment/Concession ownership
model is used within the
Merchandising suite of solutions.
Valid values are: R – Retailer S –
Supplier. If no value is provided for
consignment/concession items, this
will be defaulted based on the default
pricing control at supplier site level.
dimensionNoCollection of
Object
References a collection of item
supplier country dimensions.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes. This collection is
treated as a single group and should
include all named fexible attributes
for the business entity. If any
confgured named attribute is
missing from the input collection, its
value will be set to NULL.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-618 Dimension - Object. See list of elements for detail

Element NameRequiredData TypeDescription
dimensionObjectYesString (6)Specifc object whose dimensions are
specifed in this record (e. g. case,
pallet, each). Valid codes are defned
in the DIMO code type. Examples are:
CA - Case, EA - Each.

Table 5-618 (Cont.) Dimension - Object. See list of elements for detail

Element NameRequiredData TypeDescription
tareWeightNoNumber
(12,4)
Amount of weight to be subtracted
for packaging materials. Used to
calculate the true net weight of the
dimensionObject.
tareTypeNoString (6)Indicates if tare weight for this
dimensionObject is wet or dry. Valid
values are defned in the TARE code
type. Examples are: W - Wet tare
weight, D - Dry tare weight.
lwhUomNoString (4)Unit of measurement for length,
width, and height (e. g. inches,
centimeters, feet). Valid values for
this feld are contained in uom feld
on uom_class table where uom_class
feld = DIMEN.
lengthNoNumber
(12,4)
Length of dim_object measured in
units specifed in lwh_uom.
widthNoNumber
(12,4)
Width of dim_object measured in
units specifed in lwh_uom.
heightNoNumber
(12,4)
Height of dim_object measured in
units specifed in lwh_uom.
liquidVolumeNoNumber
(12,4)
Liquid volume, or capacity, of
dim_object measured in units
specifed in volume_uom. Liquid
volumes are only convertible to other
liquid volumes.
liquidVolumeUomNoString (4)Unit of measurement for
liquid_volume (e. g. ounces, liters).
Liquid volumes are only convertible
to other liquid volumes. Valid values
for this feld are contained in uom
feld on uom_class table where
uom_class feld = LVOL.
statisticalCaseNoString (12)Statistical value of the dim_objects
dimensions to be used for loading
purposes.
weightUomNoString (4)Unit of measurement for weight (e. g.
pounds, kilograms). Valid values for
this feld are contained in uom feld
on uom_class table where uom_class
feld = MASS.
weightNoNumber
(12,4)
Weight of dim_object measured in
units specifed in weight_uom.
netWeightNoNumber
(12,4)
Unit of measurement for length,
width, and height (e. g. inches,
centimeters, feet). Valid values for
this feld are contained in uom feld
on uom_class table where uom_class
feld = DIMEN.

Table 5-618 (Cont.) Dimension - Object. See list of elements for detail

Element NameRequiredData TypeDescription
presentationMethodNoString (6)Describes the packaging (if any) being
taken into consideration in the
specifed dimensions. Valid codes are
defned in the PCKT code type.
Examples are: JHOOK - Peggable
Packaging, STACK - Stackable
Packaging.

Table 5-619 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.

Table 5-620 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-621 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "dataLoadingDestination": "RMS",
      "supplier": [
        {
          "supplier": "2400",
          "countryOfSourcing": [
            {
              "originCountry": "US",
              "primaryCountryInd": "Y",
              "unitCost": 9.65,
              "leadTime": 1,
              "pickupLeadTime": 1,
              "mininumOrderQuantity": 1,
              "maximumOrderQuantity": 1,
              "supplierHierarchyLevel1": null,
              "supplierHierarchyLevel2": null,
              "supplierHierarchyLevel3": null,
              "defaultUop": null,
              "supplierPackSize": 1,
              "innerPackSize": 1,
              "ti": 1,
              "hi": 1,
              "costUom": "EA",
              "toleranceType": null,
              "minimumTolerance": 76.00,
              "maximumTolerance": 69.00,
              "supplierHierarchyType1": null,
              "supplierHierarchyType2": null,
              "supplierHierarchyType3": null,
              "roundLevel": "C",
              "roundToInnerPercentage": 50,
              "roundToCasePercentage": 50,
              "roundToLayerPercentage": 50,
              "roundToPalletPercentage": 50,
              "packingMethod": "HANG",
              "defaultExpenseProfilesInd": "Y",
              "purchaseType": "0",
              "calculationBasis": null,
              "purchaseRate": 18.00,
              "pricingControl": "R",
              "dimension": [
                {
                  "dimensionObject": "CA",
                  "tareWeight": 3,
                  "tareType": "D",
                  "lwhUom": "IN",
                  "length": 3,
                  "width": 3,
                  "height": 3,
                  "liquidVolume": 3,
                  "liquidVolumeUom": "EA",
                  "statisticalCase": null,
                  "weightUom": "EA",
                  "weight": 3,
                  "netWeight": 11.00,
                  "presentationMethod": null
                }
              ],
              "customFlexAttribute": [
                {
                  "name": "REVIEW_DATE",
                  "value": null,
                  "valueDate": "2001-12-31"
                }
              ],
              "localizationExtensions": [
                {
                  "country": "BR",
                  "attributes": [
                    {
                      "name": "SPECIAL_CATEGORY_CODE",
                      "value": "WS_PRC_08",
                      "valueDate": "2001-12-31"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "localizationExtensions": [
        {
          "country": "BR",
          "attributes": [
            {
              "name": "SPECIAL_CATEGORY_CODE",
              "value": "WS_PRC_08",
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Update Item Supplier Countries of Manufacture

Functional Area

Items - Item Definition

Business Overview

This service is used to modify manufacturing country of an existing item supplier in Merchandising. To update item supplier country manufacturing information, the supplier manufacturing country must exist for the item in Merchandising; otherwise, an error will be returned.

Service Type
PUT
ReST URL
MerchIntegrations/services/item/supplier/countriesOfManufacture/update

Input Payload Details

Table 5-622 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-623 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
supplierNoCollection of
Object
References a collection of suppliers
associated to the item.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-624 Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesString (10)The identifer of the supplier who
sources the item. This value must be
predefned on the SUPS table.
countryOfManufactureNoCollection of
Object
References a collection of country of
manufacture of the item.

Table 5-625 CountryOfManufacture - Object. See list of elements for detail

Element NameRequiredData TypeDescription
manufacturerCountryYesString (23)Country ID of manufacturer.
primaryManufacturerCount
ryInd
NoString (1)Indicates if it’s the primary country of
manufacturer.

Table 5-626 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-627 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100600020",
      "dataLoadingDestination": "RMS",
      "supplier": [
        {
          "supplier": "2400",
          "countryOfManufacture": [
            {
              "manufacturerCountry": "BR",
              "primaryManufacturerCountryInd": "N"
            }
          ]
        }
      ],
      "localizationExtensions": [
        {
          "country": "BR",
          "attributes": [
            {
              "name": "SPECIAL_CATEGORY_CODE",
              "value": "WS_PRC_08",
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Update Item Supplier Country Dimensions

Functional Area

Items - Item Definition

Business Overview

This service is used to modify dimensions for an existing item supplier country in Merchandising. To update item supplier country dimension information, the supplier country dimension must exist for the item in Merchandising, otherwise, an error will be returned.

Service Type
PUT
ReST URL
MerchIntegrations/services/item/supplier/country/dimensions/update

Input Payload Details

Table 5-628 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-629 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
supplierNoCollection of
Object
References a collection of suppliers
associated to the item.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-630 Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesString (10)The identifer of the supplier who
sources the item. This value must be
predefned on the SUPS table.
countryOfSourcingNoCollection of
Object
References a collection of country of
sourcing of the item.

Table 5-631 CountryOfSourcing - Object. See list of elements for detail

Element NameRequiredData TypeDescription
originCountryYesString (3)The identifer for the country where
the item is sourced. This value must
be predefned on the COUNTRY table.
dimensionNoCollection of
Object
References a collection of item
supplier country dimensions.

Table 5-631 (Cont.) CountryOfSourcing - Object. See list of elements for detail

Element NameRequiredData TypeDescription
localizationExtensionsNoCollection ofHolds optional localization attributes
Objectthat will be processed by the
localization extension module.

Table 5-632 Dimension - Object. See list of elements for detail

Element NameRequiredData TypeDescription
dimensionObjectYesString (6)Specifc object whose dimensions are
specifed in this record (e. g. case,
pallet, each). Valid codes are defned
in the DIMO code type. Examples are:
CA - Case, EA - Each.
tareWeightNoNumber
(12,4)
Amount of weight to be subtracted
for packaging materials. Used to
calculate the true net weight of the
dimensionObject.
tareTypeNoString (6)Indicates if tare weight for this
dimensionObject is wet or dry. Valid
values are defned in the TARE code
type. Examples are: W - Wet tare
weight, D - Dry tare weight.
lwhUomNoString (4)Unit of measurement for length,
width, and height (e. g. inches,
centimeters, feet). Valid values for
this feld are contained in uom feld
on uom_class table where uom_class
feld = DIMEN.
lengthNoNumber
(12,4)
Length of dim_object measured in
units specifed in lwh_uom.
widthNoNumber
(12,4)
Width of dim_object measured in
units specifed in lwh_uom.
heightNoNumber
(12,4)
Height of dim_object measured in
units specifed in lwh_uom.
liquidVolumeNoNumber
(12,4)
Liquid volume, or capacity, of
dim_object measured in units
specifed in volume_uom. Liquid
volumes are only convertible to other
liquid volumes.
liquidVolumeUomNoString (4)Unit of measurement for
liquid_volume (e. g. ounces, liters).
Liquid volumes are only convertible
to other liquid volumes. Valid values
for this feld are contained in uom
feld on uom_class table where
uom_class feld = LVOL.
statisticalCaseNoString (12)Statistical value of the dim_objects
dimensions to be used for loading
purposes.

Table 5-632 (Cont.) Dimension - Object. See list of elements for detail

Element NameRequiredData TypeDescription
weightUomNoString (4)Unit of measurement for weight (e. g.
pounds, kilograms). Valid values for
this feld are contained in uom feld
on uom_class table where uom_class
feld = MASS.
weightNoNumber
(12,4)
Weight of dim_object measured in
units specifed in weight_uom.
netWeightNoNumber
(12,4)
Unit of measurement for length,
width, and height (e. g. inches,
centimeters, feet). Valid values for
this feld are contained in uom feld
on uom_class table where uom_class
feld = DIMEN.
presentationMethodNoString (6)Describes the packaging (if any) being
taken into consideration in the
specifed dimensions. Valid codes are
defned in the PCKT code type.
Examples are: JHOOK - Peggable
Packaging, STACK - Stackable
Packaging.

Table 5-633 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-634 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "dataLoadingDestination": "RMS",
      "supplier": [
        {
          "supplier": "2400",
          "countryOfSourcing": [
            {
              "originCountry": "US",
              "dimension": [
                {
                  "dimensionObject": "CA",
                  "tareWeight": 3,
                  "tareType": "D",
                  "lwhUom": "IN",
                  "length": 3,
                  "width": 3,
                  "height": 3,
                  "liquidVolume": 3,
                  "liquidVolumeUom": "EA",
                  "statisticalCase": null,
                  "weightUom": "EA",
                  "weight": 3,
                  "netWeight": 11.00,
                  "presentationMethod": null
                }
              ],
              "localizationExtensions": [
                {
                  "country": "BR",
                  "attributes": [
                    {
                      "name": "SPECIAL_CATEGORY_CODE",
                      "value": "WS_PRC_08",
                      "valueDate": "2001-12-31"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "localizationExtensions": [
        {
          "country": "BR",
          "attributes": [
            {
              "name": "SPECIAL_CATEGORY_CODE",
              "value": "WS_PRC_08",
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Update Item Supplier Country Locations

Functional Area

Items - Item Definition

Business Overview

This service is used to modify locations of an existing item supplier country in Merchandising. To update item supplier country location information, the supplier country location must exist for the item in Merchandising; otherwise, an error will be returned.

Service Type

PUT

ReST URL

MerchIntegrations/services/item/supplier/country/locations/update
Availability During Nightly Batch Cycle

This service will not be available when batches that affect costs are in-progress.

Input Payload Details

Table 5-635 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.

Table 5-635 (Cont.) Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection of
Object
References a collection of items.

Table 5-636 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
itemSuppCountryLocHierarc
hyLevel
NoString (2)The level of the organizational
hierarchy used to update item
supplier country location
relationships. Valid values are: ‘S’ -
Store and ‘W’ - Warehouse.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
supplierNoCollection of
Object
References a collection of suppliers
associated to the item.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-637 Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesString (10)The identifer of the supplier who
sources the item. This value must be
predefned on the SUPS table.
countryOfSourcingNoCollection of
Object
References a collection of country of
sourcing of the item.

Table 5-638 CountryOfSourcing - Object. See list of elements for detail

Element NameRequiredData TypeDescription
originCountryYesString (3)The identifer for the country where
the item is sourced. This value must
be predefned on the COUNTRY table.
locationNoCollection of
Object
References a collection of item
supplier country locations.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-639 Location - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hierarchyIdYesNumber (10)The specifc location id for this Item
Supplier Country Loc message.
Corresponds with the value used in
the iscloc_hier_level feld.
unitCostNoNumber
(20,4)
The unit cost for the item at the item
supplier country loc level in the
supplier’s currency. This feld will be
used for creating new records, not
updating existing records.
negotiatedItemCostNoNumber
(20,4)
This will hold the supplier negotiated
item cost.
pickupLeadTimeNoNumber (4)Contains time it takes to get the item
from the Supplier to the Initial
Receiving Location. This value will be
defaulted to the
item_supp_country_loc pickup lead
time feld. The ordering dialog will
reference the item/supplier/country/
location pickup lead time as the value
may vary by location.
roundLevelNoString (6)This column will be used to
determine how order quantities will
be rounded to Case, Layer and Pallet.
roundToCasePercentageNoNumber
(12,4)
The Case Rounding Threshold value.
Used to determine whether to round
partial case quantities up or down.
roundToLayerPercentageNoNumber
(12,4)
The Layer Rounding Threshold value.
Used to determine whether to round
partial Layer quantities up or down.
roundToPalletPercentageNoNumber
(12,4)
The Pallet Rounding Threshold value.
Used to determine whether to round
partial Pallet quantities up or down.
roundToInnerPercentageNoNumber
(12,4)
The Inner Rounding Threshold value.
Used to determine whether to round
partial Inner quantities up or down.
supplierHierarchyLevel1NoString (10)Highest level of supplier hierarchy (e.
g. manufacturer). This will be used
forassigning rebates that come from a
level in the supply chain that is
higher than the supplier.
supplierHierarchyLevel2NoString (10)Second highest level of supplier
hierarchy. Rebates at this level will
include all eligible supplier/item/
country/loc records assigned to this
supplier hierarchy level.
supplierHierarchyLevel3NoString (10)Third highest level of supplier
hierarchy, used for assigning rebates
by a level other than supplier.

Table 5-639 (Cont.) Location - Object. See list of elements for detail

Element NameRequiredData TypeDescription
costUomNoString (4)Unit of measure associated with the
item cost. It is held to allow costs to
be managed in a separate UOM from
the standard UOM.
purchaseTypeNoString (1)This contains a code to indicate
whether the item is normal
merchandise (i. e. owned by the
retailer), consignment stock or a
concession item. Valid values are 0 -
Owned, 1 - Consignment, 2 -
Concession.
calculationBasisNoString (1)This indicates if the cost for the
consignment/concession item will be
managed either based on cost per
unit or as a percentage of retail. Valid
values are C - Cost per Unit, P -
Purchase Rate.
purchaseRateNoNumber
(12,4)
This column contains the percentage
of the retail price which will
determine the cost paid to the
supplier for a consignment or
concession item.
pricingControlNoString (1)This indicates whether the price for
the consignment/concession item will
be managed by supplier or by retailer
when supplier-controlled pricing for
Consignment/Concession ownership
model is used within the
Merchandising suite of solutions.
Valid values are: R – Retailer S –
Supplier. If no value is provided for
consignment/concession purchase
types, this will be defaulted from
item/supplier/country of sourcing if
purchase type is Consignment/
Concession at item/supplier/country
of sourcing level. If purchase type is
Owned at item/supplier/country of
sourcing level, this will be defaulted
based on Default Pricing Control at
supplier site level.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes. This collection is
treated as a single group and should
include all named fexible attributes
for the business entity. If any
confgured named attribute is
missing from the input collection, its
value will be set to NULL.

Table 5-640 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.

Table 5-641 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-642 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100068",
      "itemSuppCountryLocHierarchyLevel": "S",
      "dataLoadingDestination": "RMS",
      "supplier": [
        {
          "supplier": "2400",
          "countryOfSourcing": [
            {
              "originCountry": "US",
              "location": [
                {
                  "hierarchyId": 1111,
                  "unitCost": 9.65,
                  "negotiatedItemCost": 9.65,
                  "pickupLeadTime": 1000,
                  "roundLevel": "C",
                  "roundToCasePercentage": 50,
                  "roundToLayerPercentage": 50,
                  "roundToPalletPercentage": 50,
                  "roundToInnerPercentage": 50,
                  "supplierHierarchyLevel1": null,
                  "supplierHierarchyLevel2": null,
                  "supplierHierarchyLevel3": null,
                  "costUom": "EA",
                  "purchaseType": "0",
                  "calculationBasis": null,
                  "purchaseRate": 3,
                  "pricingControl": "R",
                  "customFlexAttribute": [
                    {
                      "name": "REVIEW_DATE",
                      "value": null,
                      "valueDate": "2001-12-31"
                    }
                  ]
                }
              ],
              "localizationExtensions": [
                {
                  "country": "BR",
                  "attributes": [
                    {
                      "name": "SPECIAL_CATEGORY_CODE",
                      "value": "WS_PRC_08",
                      "valueDate": "2001-12-31"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "localizationExtensions": [
        {
          "country": "BR",
          "attributes": [
            {
              "name": "SPECIAL_CATEGORY_CODE",
              "value": "WS_PRC_08",
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Update Item Supplier Translations

Functional Area

Items - Item Definition

Business Overview

This service is used to modify supplier level translations of an existing item within Merchandising.

Service Type

PUT

ReST URL

MerchIntegrations/services/item/supplier/translations/update

Input Payload Details

Table 5-643 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-644 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
supplierNoCollection of
Object
References a collection of suppliers
associated to the item.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-645 Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesString (10)The identifer of the supplier who
sources the item. This value must be
predefned on the SUPS table.
translationNoCollection of
Object
References a collection of translations
of item supplier description felds.

Table 5-646 Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageYesNumber (6)This is the language ID.
supplierDiff1NoString (120)This feld contains the frst supplier
differentiator and/or description. This
feld may only contain a value for
items with an item_parent.
supplierDiff2NoString (120)This feld contains the second
supplier differentiator and/or
description. This feld may only
contain a value for items with an
item_parent.
supplierDiff3NoString (120)This feld contains the third supplier
differentiator and/or description. This
feld may only contain a value for
items with an item_parent.
supplierDiff4NoString (120)This feld contains the fourth supplier
differentiator and/or description. This
feld may only contain a value for
items with an item_parent.
supplierLabelNoString (15)The supplier label for the item.

Table 5-647 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-648 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.

Sample Input Message

{
  "collectionSize": 1,
  "items": [
    {
      "item": "106150023",
      "dataLoadingDestination": "RMS",
      "supplier": [
        {
          "supplier": "2400",
          "translation": [
            {
              "language": 2,
              "supplierDiff1": "Lieferantenunterschied 1",
              "supplierDiff2": "Lieferant Diff 2 Modifiziert",
              "supplierDiff3": "Lieferantenunterschied 3",
              "supplierDiff4": "Lieferantenunterschied 4",
              "supplierLabel": "Lieferantenetikett Geändert"
            }
          ]
        }
      ],
      "localizationExtensions": [
        {
          "country": "BR",
          "attributes": [
            {
              "name": "SPECIAL_CATEGORY_CODE",
              "value": "WS_PRC_08",
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Update Item Suppliers

Functional Area

Items - Item Definition

Business Overview

This service is used to update supplier level information linked with an item within Merchandising. The specified supplier must already exist for the item in Merchandising, else an error will be returned.

Service Type

PUT

ReST URL

MerchIntegrations/services/item/suppliers/update
Availability During Nightly Batch Cycle

This service will not be available during total duration of nightly batch run cycle.

Input Payload Details

Table 5-649 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-650 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
supplierNoCollection of
Object
References a collection of suppliers
associated to the item.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-651 Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesString (10)The identifer of the supplier who
sources the item. This value must be
predefned on the SUPS table.
primarySupplierIndNoString (3)Indicates if the supplier is the
primary supplier for the item. Valid
values are Y (yes) and N (no).
vpnNoString (30)The vendor product number
associated with the item.
supplierLabelNoString (15)The supplier label for the item.
consignmentRateNoNumber
(12,4)
This feld contains the consignment
rate for this item for the supplier.
supplierDiscontinueDateNodateDate which the supplier discontinues
an item. The retailor should be aware
that the supplier is able to reuse a
UPC after 30 months and should work
to ensure that no data exists in RMS
for a UPC 30 months after it has been
discontinued.
directShipIndNoString (1)Contains a value of Yes to indicate
that any item asssociated with this
supplier is eligible for a direct
shipment from the supplier to the
customer.

Table 5-651 (Cont.) Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
palletNameNoString (6)Code referencing the name used to
refer to the pallet. Valid codes are
defned in the PALN code type.
Examples are FLA - Flat, PAL - Pallet.
caseNameNoString (6)Code referencing the name used to
refer to the case. Valid codes are
defned in the CASN code type.
Examples are PACK - Pack, BX - Box,
BG - Bag.
innerNameNoString (6)Code referencing the name used to
refer to the inner. Valid codes are
defned in the INRN code type.
Examples are SCS - Sub-Case, SPACK -
Sub-Pack.
primaryCaseSizeNoString (6)Used only if AIP is interfaced.
Indicates the primary case size for
the item supplier when an orderable
item is confgured for informal case
types.
supplierDiff1NoString (120)This feld contains the frst supplier
differentiator and/or description. This
feld may only contain a value for
items with an item_parent.
supplierDiff2NoString (120)This feld contains the second
supplier differentiator and/or
description. This feld may only
contain a value for items with an
item_parent.
supplierDiff3NoString (120)This feld contains the third supplier
differentiator and/or description. This
feld may only contain a value for
items with an item_parent.
supplierDiff4NoString (120)This feld contains the fourth supplier
differentiator and/or description. This
feld may only contain a value for
items with an item_parent.
concessionRateNoNumber
(12,4)
The concession rate is the margin that
a particular supplier receives for the
sale of a concession item.
defaultExpenseProflesIndNoString (1)This feld indicates whether expense
profles will be defaulted to new item-
supplier relationship. Valid values are
Y (yes) and N (no).
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes. This collection is
treated as a single group and should
include all named fexible attributes
for the business entity. If any
confgured named attribute is
missing from the input collection, its
value will be set to NULL.

Table 5-652 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.

Table 5-653 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-654 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "dataLoadingDestination": "RMS",
      "supplier": [
        {
          "supplier": "2400",
          "primarySupplierInd": "Y",
          "vpn": null,
          "supplierLabel": null,
          "consignmentRate": 3,
          "supplierDiscontinueDate": "2001-12-31",
          "directShipInd": "Y",
          "palletName": "PAL",
          "caseName": "CS",
          "innerName": "INR",
          "primaryCaseSize": null,
          "supplierDiff1": null,
          "supplierDiff2": null,
          "supplierDiff3": null,
          "supplierDiff4": null,
          "concessionRate": 1,
          "defaultExpenseProfilesInd": "Y",
          "customFlexAttribute": [
            {
              "name": "REVIEW_DATE",
              "value": null,
              "valueDate": "2001-12-31"
            }
          ]
        }
      ],
      "localizationExtensions": [
        {
          "country": "BR",
          "attributes": [
            {
              "name": "SPECIAL_CATEGORY_CODE",
              "value": "WS_PRC_08",
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Update Item Supplier UOM
Functional Area

Items - Item Definition

Business Overview

Service to update miscellaneous units of measure (UOM) for an item/supplier combination. This UOM indicates the equivalent of one unit of the item in the specified UOM.

For example, if the item is a single package of cigars, and the single package sold in stores contains 10 cigar ‘sticks’. The standard UOM of the item will be EA, and one Each of the item is a package of 10 cigar sticks. The retailer can create a MISC UOM of ‘Sticks’ and in Item Supplier UOM, the UOM would be set to ‘Sticks’ and a Value = 10 because there are 10 sticks in a single unit of the item. This definition will allow expense, assessment and/or up charge components to be created to calculate a tax. So, if the tax is 0.13 USD per stick, then the system will use the item supplier UOM record for Sticks to determine that 1 unit of the item is 10 sticks and will therefore calculate the cost component as 0.13 x 10 sticks = 1.30 USD for one package of cigars.

Service Type
PUT
ReST URL
MerchIntegrations/services/item/supplier/uom/update
Input Payload Details

Table 5-655 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the
collection.
itemsYesCollection of ObjectReferences a collection
of items.

Table 5-656 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer
of the main item on
the message.
dataLoadingDestinatio
n
NoString (6)This feld indicates if
the item will be
created in
Merchandising or the
staging tables. Valid
values are RMS or STG.
If not defned, the
default is STG.
supplierNoCollection of ObjectReferences a collection
of suppliers associated
to the item.

Table 5-657 Supplier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierYesString (10)The identifer of the
supplier who sources
the item. This value
must be predefned on
the SUPS table.
uomNoCollection of ObjectChild node holding
miscellaneous units of
measure (UOM) for an
item/supplier
combination.

Table 5-658 Uom - Object. See list of elements for detail

Element NameRequiredData TypeDescription
uomYesString (4)Contains the unit of
measure that the item
is being measured in.
valueYesNumber (20,4)Contains the
equivalent value of the
Item/Suppliers
shipping carton in the
associated unit of
measure.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"item": "100100076",
"dataLoadingDestination": "RMS",
"supplier": [
{
"supplier": "2400",
"uom": [
{
"uom": "STK",
"value": 10
}
]
}
]
}
]
}
Response Code: 200 (Success)
Sample Response Message
{
"status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}

Item Taxes Upload Service

The following services are included in this functional area:

  • Create Item Taxes

  • Delete Item Taxes

Create Item Taxes

Functional Area

Items - Item Definition

Business Overview

This service is used to add Value Added Tax (VAT) information to an existing item in Merchandising when the tax solution for the system is Simple VAT (SVAT). The item must already exist in Merchandising, else an error will be returned. Item Tax information can also be provided during the creation of a new item. For more details on item creation, see the Item Upload Service description.

Service Type

POST

ReST URL

MerchIntegrations/services/item/taxes/create
Availability During Nightly Batch Cycle

This service will not be available during total duration of nightly batch run cycle.

Input Payload Details

Table 5-659 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-660 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
itemLevelNoNumber (1)The level of the item. Valid values are
1 (single level or pack item), 2 (child
item), and 3 (grandchild item).
tranLevelNoNumber (1)The transaction level of the item.
Valid values are 1, 2, and 3. If this is a
transaction item this will equal the
item level. If the item is a pack this
will equal 1. This value cannot be
modifed.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
vatNoCollection of
Object
References a collection of vat
information.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-661 Vat - Object. See list of elements for detail

Element NameRequiredData TypeDescription
vatTypeYesString (1)Indicates if the VAT rate is used for
purchasing or selling. Valid values
are C (cost), R (retail) and B (both).
vatRegionYesNumber (6)The identifer for the VAT region. This
value must be predefned on the
VAT_REGION table. This node is
optional, if it is included this feld is
required.
vatCodeYesString (6)The identifer for the VAT code. This
node is optional, if it is included in
the message this feld is required.
activeDateYesdateThe date that the VAT rate became
active for the item/VAT region
combination.

Table 5-661 (Cont.) Vat - Object. See list of elements for detail

Element NameRequiredData TypeDescription
reverseVatIndNoString (1)Indicates if the item is subject to
reverse charge VAT at the vat region.
Valid values are Y (yes) and N (no).

Table 5-662 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection of
Object
This holds the details of localization
attributes.

Table 5-663 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "itemLevel": 1,
      "tranLevel": 1,
      "dataLoadingDestination": "RMS",
      "vat": [
        {
          "vatType": "B",
          "vatRegion": 1000,
          "vatCode": "S",
          "activeDate": null,
          "reverseVatInd": "N"
        }
      ],
      "localizationExtensions": [
        {
          "country": "BR",
          "attributes": [
            {
              "name": "SPECIAL_CATEGORY_CODE",
              "value": "WS_PRC_08",
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Item Taxes

Functional Area

Items - Item Definition

Business Overview

This service is used to delete VAT (value added tax) information of an existing item in Merchandising when default tax type for the system is SVAT (Simple VAT). In order to delete an item tax, the tax information must exist for the item in Merchandising, otherwise, an error will be returned.

Service Type

DELETE

ReST URL

MerchIntegrations/services/item/taxes/delete
Availability During Nightly Batch Cycle

This service will not be available during total duration of nightly batch run cycle.

Input Payload Details

Table 5-664 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-665 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer for the item.
vatNoCollection ofReferences a collection of item VAT.
Object

Table 5-666 Vat - Object. See list of elements for detail

Element NameRequiredData TypeDescription
vatTypeYesString (1)The vat type of the vat item info to be
deleted. Valid values are C (cost), R
(retail) and B (both).
vatRegionYesNumber (6)The vat region of the vat item info to
be deleted.
activeDateYesdateThe active date of the vat item info to
be deleted.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "vat": [
        {
          "vatType": "R",
          "vatRegion": 1000,
          "activeDate": null
        }
      ]
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Item Up Charge Download Service

The following services are included in this functional area:

• Get Item Up Charges for Future Date

Get Item Up Charges for Future Date

Functional Area

Items - Item Definition

Business Overview

This service can be used to retrieve the complete list of up charges and the calculated up charge value that is expected to be a part of the future cost for the item, location and future date combination provided in the service call.

The From Location input is optional, and if one is not provided, the system will use the source/ default location of the provided To Location as the From Location in order to determine the list of up charges to be calculated and passed out of the service.

Service Type

POST

ReST URL

MerchIntegrations/services/item/upCharges/futureDate/get

Input Payload Details

Table 5-667 Get - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in
the collection. The
maximum number of
the items allowed in a
collection is 9999.
itemsYesCollection of ObjectReferences a collection
of From Location, To
Location, Future Date
and Items.

Table 5-668 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fromLocationNoNumber (10)The source location to
fetch the Item Up
Charges. This does not
need to be provided if
the To Location is a
franchise location.
toLocationYesNumber (10)The destination
location to fetch the
Item Up Charges.
futureDateYesdateThe future date to
fetch the details of the
Future Cost for the
given Item/ToLocation
combination. The
expected date format
is YYYY-MM-DD.
itemListYesArray of StringThe item/items for
which the Up Charge
details are requested.
The maximum
number of the items
allowed is 9999.

Table 5-669 GetError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
errorsYesCollection of Object

Table 5-670 Errors - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fromLocationYesNumber (10)The source location to
fetch the Item Up
Charges.

Table 5-670 (Cont.) Errors - Object. See list of elements for detail

Element NameRequiredData TypeDescription
toLocationYesNumber (10)The destination
location to fetch the
Item Up Charges.
futureDateYesdateThe future date to
fetch the details of the
Future Cost for the
given Item/ToLocation
combination. The
expected date format
is YYYY-MM-DD.
errorsYesArray of StringList of errors.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"fromLocation": 10003,
"toLocation": 1521,
"futureDate": "2001-12-31",
"itemList": [
"108200021"
]
}
]
}

Response Code: 200 (Success)

Table 5-671 GetResponse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection of ObjectReferences a collection
of From Location, To
Location, Item and
Upcharge details
returned as response.

Table 5-672 GetResponse.Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fromLocationYesNumber (10)The source location to
fetch the Item Up
Charges.
toLocationYesNumber (10)The destination
location to fetch the
Item Up Charges.

Table 5-672 (Cont.) GetResponse.Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
futureDateYesdateThe future date to
fetch the details of the
Future Cost for the
given Item/ToLocation
combination. The
expected date format
is YYYY-MM-DD.
itemYesString (25)The item for which the
Up Charge details are
requested.
totalUpChargeAmountYesNumber (20,4)The Total Up Charge
Amount for the given
Item/FromLocation/
ToLocation/FutureDate
combination.
currencyCodeYesString (3)The currency of the
ToLocation in which
the Total Up Charge
Amount is calculated.
upChargesYesCollection of ObjectDetails of the
individual Item Up
Charge Components.

Table 5-673 UpCharges - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentIdYesString (10)Up Charge component.
componentDescriptionYesString (250)Description of the Up
Charge component.
upChargeGroupYesString (6)Group to which the Up
Charge component
belongs. Valid values
are defned in code
type UCHG (Up Charge
Group) with values: A-
Admin. Fee, F-Freight,
K-Special K Fees, M-
Miscellaneous, T-
Taxes, W-Franchise.
calculationBasisYesString (6)Indicates whether the
component is
calculated on a per-
unit (Specifc) or ad
valorem (Value) basis.
Valid values are Value
(V) or Specifc (S).

Table 5-673 (Cont.) UpCharges - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentRateYesNumber (20,4)The rate to be charged
against the cost of the
Item/To Location
combinations. The
value in this feld will
be a percentage if the
calculation basis is V
(Value), and a
monetary amount if
the calculation basis is
S (Specifc).
costBasisYesString (1)The basis, the Up
Charge will be
calculated against.
Valid values are
defned in code type
UCCB (Up Charge Cost
Basis) with values:
Weighted Average Cost
(W) and Supplier Cost
(S) and Off-Invoice Net
Cost (N).
computationValueBaseYesString (10)The Computation
Value Basis for the Up
Charge component.
perCountYesNumber (12,4)The amount of the Per
Count Unit of Measure
to which the rate
applies. This will only
contain a value if the
calculation basis is S
(Specifc).
perCountUomYesString (4)The unit of measure in
which the Per Count is
specifed. This column
will only contain a
value if the calculation
basis is S (Specifc).
componentCurrencyYesString (3)Currency of the Up
Charge component.
upChargeAmountYesNumber (20,4)The calculated Up
Charge Amount for the
specifc Up Charge
Component. This will
be in the currency of
the ToLocation.

Table 5-673 (Cont.) UpCharges - Object. See list of elements for detail

Element Name Required Data Type Description upChargeLevel No String (1) This field contains the level at which the up charge is defined. Valid values are: ‘D’ (up charge is derived from the department level), ‘I’ (up charge is derived from the item level), and ‘F’ (up charge is tied to a Franchise store). Sample Response Message { "items": [ { "fromLocation": 10003, "toLocation": 1521, "futureDate": "2001-12-31", "item": "108200021", "totalUpChargeAmount": 1.5, "currencyCode": "USD", "upCharges": [ { "componentId": "TSFINSUR", "componentDescription": "Transfer Insurance", "upChargeGroup": "M", "calculationBasis": "V", "componentRate": 1.5, "costBasis": "W", "computationValueBase": null, "perCount": null, "perCountUom": null, "componentCurrency": "USD", "upChargeAmount": 1.5, "upChargeLevel": "I" } ] } ] }

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Table 5-674 GetError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
errorsYesCollection of Object

Table 5-675 Errors - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fromLocationYesNumber (10)The source location to
fetch the Item Up
Charges.
toLocationYesNumber (10)The destination
location to fetch the
Item Up Charges.
futureDateYesdateThe future date to
fetch the details of the
Future Cost for the
given Item/ToLocation
combination. The
expected date format
is YYYY-MM-DD.
errorsYesArray of StringList of errors.
Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
],
"businessError": [
{
"errors": [
{
"fromLocation": 10003,
"toLocation": 1521,
"futureDate": "2001-12-31",
"errors": [
"Invalid Item."
]
}
]
}
]
}

Item Upload Service

The following services are included in this functional area:

  • Create Item Description Translations

  • Create Item Image Translations

  • Create Item Images

  • Create Item Seasons

  • Create Item Tickets

  • Create Item UDA Free Form Translations

  • Create Item UDAs

  • Create Item Up Charges

  • Create Items

  • Create Required Documents

  • Delete Item Description Translations

  • Delete Item Image Translations

  • Delete Item Images

  • Delete Item Seasons

  • Delete Item Tickets

  • Delete Item UDA Free Form Translations

  • Delete Item UDAs

  • Delete Item Up Charges

  • Delete Items

  • Delete Required Documents

  • Update Item Attributes Customized

  • Update Item Description Translations

  • Update Item Image Translations

  • Update Item Images

  • Update Item Tickets

  • Update Item UDA Free Form Translations

  • Update Item UDAs

  • Update Item Up Charge Details

  • Update Items

Create Item Description Translations

Functional Area

Items - Item Definition

Business Overview

If translations have been defined for items, at item header level, then they can be integrated as part of this service. This service will accept the language and the description specified in the language to add item description translations to an existing item in Merchandising.

Service Type
POST
ReST URL
MerchIntegrations/services/item/description/translations/create
Input Payload Details

Table 5-676 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-677 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
translationNoCollection of
Object
References a collection of translations
of the item description feld.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-678 Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageYesNumber (6)This feld will hold the language in
which the translated text is
maintained.
shortDescriptionNoString (120)This feld will hold the translated text
of the shortened description of the
item.
itemDescriptionYesString (250)This feld will hold the translated text
of the primary description of the
item.
itemDescriptionSecondaryNoString (250)This feld will hold the translated text
of the secondary description of the
item.

Table 5-678 (Cont.) Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
longDescNoString (2000)Long description of the item.

Table 5-679 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-680 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.

Sample Input Message

{ "collectionSize": 1, "items": [ { "item": "106150023", "dataLoadingDestination": "RMS", "translation": [ { "language": 5, "shortDescription": " 登録項目 ", "itemDescription": " レギュラーアイテム 106150023", "itemDescriptionSecondary": " レギュラーアイテム二次 106150023", "longDesc": "100100076 Item Regular" } ], "localizationExtensions": [ { "country": "BR", "attributes": [ { "name": "SPECIAL_CATEGORY_CODE", "value": "WS_PRC_08", "valueDate": "2001-12-31" } ] } ] }

  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Create Item Image Translations

Functional Area

Items - Item Definition

Business Overview

If translations have been defined for items, at the image level, then they can be integrated as part of this service. The service will accept the language and the description specified in the language to add image level translations to an existing item in Merchandising.

Service Type

POST

ReST URL

MerchIntegrations/services/item/image/translations/create

Input Payload Details

Table 5-681 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.

Table 5-681 (Cont.) Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection of
Object
References a collection of items.

Table 5-682 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
imageNoCollection of
Object
References a collection of item
images.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-683 Image - Object. See list of elements for detail

Element NameRequiredData TypeDescription
imageNameYesString (120)The name of the image.
translationNoCollection ofReferences a collection of translations
Objectof item image description feld.

Table 5-684 Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageYesNumber (6)This is the language ID.
imageDescriptionYesString (40)The description associated with the
image.

Table 5-685 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection of
Object
This holds the details of localization
attributes.

Table 5-686 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message

{ "collectionSize": 1, "items": [ { "item": "100100083", "dataLoadingDestination": "RMS", "image": [ { "imageName": "imageName1", "translation": [ { "language": 8, "imageDescription": " 供优商形象优先 " } ] } ], "localizationExtensions": [ { "country": "BR", "attributes": [ { "name": "SPECIAL_CATEGORY_CODE", "value": "WS_PRC_08", "valueDate": "2001-12-31" } ] } ] } ] }

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Create Item Images

Functional Area

Items - Item Definition

Business Overview

This service is used to add images to an existing item in Merchandising. If translations have been defined for the item image, then these can be integrated as part of this service as well. The supporting node of this integration will accept the language and the related description specified in the language.

Service Type

POST

ReST URL

MerchIntegrations/services/item/images/create

Input Payload Details

Table 5-687 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-688 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.

Table 5-688 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
imageNoCollection of
Object
References a collection of item
images.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-689 Image - Object. See list of elements for detail

Element NameRequiredData TypeDescription
imageNameYesString (120)The name of the image.
imageAddressNoString (255)Path where the fle of the image is
stored.
imageDescriptionNoString (40)The description associated with the
image.
imageTypeNoString (6)Field indicating the type of the image
of the item. Can be H(igh), M(edium),
L(ow) and T(humbnail).
primaryImageIndNoString (1)Field indicating whether the record is
a primary image or not.
displayPriorityNoNumber (4)Field to specify the display sequence
order of images associated to the item
per priority.
translationNoCollection of
Object
References a collection of translations
of item image description feld.

Table 5-690 Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageYesNumber (6)This is the language ID.
imageDescriptionYesString (40)The description associated with the
image.

Table 5-691 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-692 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "dataLoadingDestination": "RMS",
      "image": [
        {
          "imageName": "imageName1",
          "imageAddress": "http://www.oracle.com/",
          "imageDescription": "imageDesc1",
          "imageType": "T",
          "primaryImageInd": "Y",
          "displayPriority": 1,
          "translation": [
            {
              "language": 2,
              "imageDescription": "Item Image"
            }
          ]
        }
      ],
      "localizationExtensions": [
        {
          "country": "BR",
          "attributes": [
            {
              "name": "SPECIAL_CATEGORY_CODE",
              "value": "WS_PRC_08",
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Create Item Seasons

Functional Area

Items - Item Definition

Business Overview

This service is used to add seasons to an existing item in Merchandising. Item Seasons can also be created together with the creation of a new item. For more details on item creation, see the Create Items service description.

Service Type

POST

ReST URL

MerchIntegrations/services/item/seasons/create

Input Payload Details

Table 5-693 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-694 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
seasonNoCollection of
Object
References a collection of item
seasons.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-695 Season - Object. See list of elements for detail

Element NameRequiredData TypeDescription
seasonIdYesNumber (3)The season identifer.
phaseIdYesNumber (3)The phase identifer.
sequenceNoNoNumber (4)This feld contains a sequence
number that combined with the item
number will make each record
unique.
diffIdNoString (10)This feld will hold a value for group/
differentiator combination records
only.

Table 5-696 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-697 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "dataLoadingDestination": "RMS",
      "season": [
        {
          "seasonId": 1,
          "phaseId": 1,
          "sequenceNo": 1,
          "diffId": null
        }
      ],
      "localizationExtensions": [
        {
          "country": "BR",
          "attributes": [
            {
              "name": "SPECIAL_CATEGORY_CODE",
              "value": "WS_PRC_08",
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Create Item Tickets

Functional Area

Items - Item Definition

Business Overview

This service is used to add tickets to an existing item in Merchandising. Tickets may be created together with the creation of a new item as well. For more details on item creation, see the Create Items service description.

Service Type

POST

ReST URL

MerchIntegrations/services/item/tickets/create

Input Payload Details

Table 5-698 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-699 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
ticketNoCollection of
Object
References a collection of item ticket.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-700 Ticket - Object. See list of elements for detail

Element NameRequiredData TypeDescription
ticketTypeIdYesString (4)This unique identifer for the ticket
type which is associated with the
item.
poPrintTypeNoString (1)This feld indicates when the ticket
type for the given item should be
printed by default, upon the approval
(A) or receipt (R) of the purchase
order.
printOnPriceChangeIndNoString (1)This feld indicates whether or not
this type of ticket should be printed
for this item when a permanent price
change goes into effect. Valid values
are Y (yes) and N (no).
ticketOverPrintPercentageNoNumber
(12,4)
This feld contains a percent which
indicates the amount of tickets which
should be printed for a given event.

Table 5-701 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection of
Object
This holds the details of localization
attributes.

Table 5-702 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "102350095",
      "dataLoadingDestination": "RMS",
      "ticket": [
        {
          "ticketTypeId": "TKT2",
          "poPrintType": "R",
          "printOnPriceChangeInd": "Y",
          "ticketOverPrintPercentage": 99
        }
      ],
      "localizationExtensions": [
        {
          "country": "BR",
          "attributes": [
            {
              "name": "SPECIAL_CATEGORY_CODE",
              "value": "WS_PRC_08",
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Create Item UDA Free Form Translations

Functional Area

Items - Item Definition

Business Overview

If translations have been defined for items at the freeform UDA level, they can be included as part of this service. The service will accept both the language and the description specified in the language to add freeform UDA translations to an existing item in Merchandising.

Service Type
POST
ReST URL
MerchIntegrations/services/item/uda/translations/create
Input Payload Details

Table 5-703 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in
the collection.
itemsYesCollection of ObjectReferences a collection
of items.

Table 5-704 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer
of the main item on
the message.
dataLoadingDestinatio
n
NoString (6)This feld indicates if
the item will be
created in
Merchandising or the
staging tables. Valid
values are RMS or STG.
If not defned, the
default is STG.
udaNoCollection of ObjectReferences a collection
of item UDAs.
localizationExtensionsNoCollection of ObjectHolds localization
attributes, including
Brazil fscal attributes.

Table 5-705 Uda - Object. See list of elements for detail

Element NameRequiredData TypeDescription
udaIdYesNumber (5)This feld contains a
number identifying
the User-Defned
Attribute.
displayTypeYesString (2)This feld contains the
display type (how the
UDA values will be
displayed to the user)
for the given UDA. The
valid values are DT -
Date, FF - Free From,
LV - List of values.

Table 5-705 (Cont.) Uda - Object. See list of elements for detail

Element NameRequiredData TypeDescription
udaTextNoString (250)This feld contains the
text value of the Used
Defned attribute for
the item.
translationNoCollection of ObjectChild node holding
translated UDA text
values by language for
the item.

Table 5-706 Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageYesNumber (6)This feld represents
the language in which
the translated text is
maintained. The
language should be
from the installed
language pack.
udaTextDescYesString (250)This contains the
translated value for
the UDA text in the
selected language.

Table 5-707 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryIdYesString (3)Id of the country
associated with the
localization attributes.
attributesYesCollection of ObjectThis holds the details
of localization
attributes.

Table 5-708 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute
name.
valueNoString (250)Holds the numeric or
string value of the
attribute.
valueDateNodateHolds the date value of
the attribute.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"item": "100100076",
"dataLoadingDestination": "RMS",
"uda": [
{
"udaId": 10000,
"displayType": "FF",
"udaText": null,
"translation": [
{
"language": 2,
"udaTextDesc": null
}
]
}
],
"localizationExtensions": [
{
"countryId": "BR",
"attributes": [
{
"name": "SPECIAL_CATEGORY_CODE",
"value": "WS_PRC_08",
"valueDate": "2001-12-31"
}
]
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}
Create Item UDAs

Functional Area

Items - Item Definition

Business Overview

This service is used to add user defined attributes (UDAs) of type date, freeform text, or list of values to an existing item in Merchandising. UDAs can also be added to a item as the item is being created. For more details on item creation, see the Create Items service description.

Service Type

POST

ReST URL

MerchIntegrations/services/item/uda/create

Input Payload Details

Table 5-709 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in
the collection.
itemsYesCollection of ObjectReferences a collection
of items.

Table 5-710 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer
of the main item on
the message.
dataLoadingDestinatio
n
NoString (6)This feld indicates if
the item will be
created in
Merchandising or the
staging tables. Valid
values are RMS or STG.
If not defned, the
default is STG.
udaNoCollection of ObjectReferences a collection
of item UDAs.

Table 5-710 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
localizationExtensionsNoCollection of ObjectHolds optional
localization attributes
that will be processed
by the localization
extension module.

Table 5-711 Uda - Object. See list of elements for detail

Element NameRequiredData TypeDescription
udaIdYesNumber (5)This feld contains a
number identifying
the User-Defned
Attribute.
displayTypeYesString (2)This feld contains the
display type (how the
UDA values will be
displayed to the user)
for the given UDA. The
valid values are DT -
Date, FF - Free From,
LV - List of values.
udaDateNodateThis feld contains the
text value of the Used
Defned attribute for
the item.
udaValueNoString (30)This feld contains
value of the Used
Defned attribute for
the item.
udaTextNoString (250)This feld contains the
text value of the Used
Defned attribute for
the item.
translationNoCollection of ObjectChild node holding
translated UDA text
values by language for
the item.

Table 5-712 Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageYesNumber (6)This feld represents
the language in which
the translated text is
maintained. The
language should be
from the installed
language pack.

Table 5-712 (Cont.) Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
udaTextDescYesString (250)This contains the
translated value for
the UDA text in the
selected language.

Table 5-713 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country
associated with the
localization attributes.
attributesYesCollection of ObjectThis holds the details
of localization
attributes.

Table 5-714 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute
name.
valueNoString (250)Holds the numeric or
string value of the
attribute.
valueDateNodateHolds the date value of
the attribute.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"item": "100100087",
"dataLoadingDestination": "RMS",
"uda": [
{
"udaId": 201,
"displayType": "FF",
"udaDate": "2001-12-31",
"udaValue": null,
"udaText": "UDA FF Text 100100087",
"translation": [
{
"language": 2,
"udaTextDesc": null
}
]
}
],
"localizationExtensions": [
{
"country": "BR",
"attributes": [
{
"name": "SPECIAL_CATEGORY_CODE",
"value": "WS_PRC_08",
"valueDate": "2001-12-31"
}
]
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}
Create Item Up Charges

Functional Area

Items - Item Definition

Business Overview

This service is used to add upcharges to an existing item in Merchandising. Upcharges can also be created together with the creation of a new item. For more details on item creation, see the Create Items service description.

Service Type
POST
ReST URL
MerchIntegrations/services/item/upCharges/create
Availability During Nightly Batch Cycle

This service will not be available when batches that affect costs are in-progress.

Input Payload Details

Create - Object. See list of elements for detail

Items - Object. See list of elements for detail

Upcharge - Object. See list of elements for detail

Details - Object. See list of elements for detail

LocalizationExtensions - Object. See list of elements for detail

Attributes - Object. See list of elements for detail

Response Code: 200 (Success)

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Create Items

Functional Area

Items - Item Definition

Business Overview

This service is used by an external system to create items in Merchandising.

Item request payload include the detail nodes the suppliers and supplier/countries. If the item is not a non-sellable pack, the item/zone/price node is also required. Optional nodes can be included in the message for supplier/countries, supplier/country/locations, pack components, item/VAT, dimensions, UDAs, seasons, images, translations, HTS, assessments, expenses, and up charges.

This service supports the insertion of data into the Item Induction staging tables without requiring that the data sent to be functionally complete. If a complete set of item data is sent by the external system through this service, then it is possible to automatically trigger the upload of the data directly into Merchandising by setting a flag in the input payload, such that item information is uploaded without further user interaction.

Items must be created and maintained following a logical hierarchy as outlined by the referential integrity of the item database tables: Item parents before child items; item components before items that are packs; items before item-suppliers; item/suppliers before item/supplier/countries; items before item/locations (a separate service), and so on. Failing to do so results in message failure.

The auto-creation of item children using differentiator records attached to an item parent, as currently occurs using Merchandising online processes, is not supported in this service.

When a new item is created, this service will first validate that all required fields are present in the message. After that, business level validation on the input information will be performed. If all the validations are met, then the item is created with the status defined in the message. If

the status in the message is approved, then the item is also subjected to a series of approval checks. For an item to be successfully approved, mandatory information, such as supplier, supplier country, component item information (if item is a pack), is required to be passed as part of the item message. If the item cannot be approved, it is not created. The following information can be included for the item: Expenses, HTS and Assessments, Tickets, UDAs, VAT (for SVAT tax type), Up Charges, Images, Seasons, Item Supplier Country Locations, Item Supplier Countries of Manufacture, and Item Supplier Country Dimensions. If included, these are created simultaneously with the creation of the item.

If item VAT is not populated, item VAT defaults to the corresponding department’s VAT information.

Service Type

POST

ReST URL

MerchIntegrations/services/items/create

Input Payload Details Create - Object. See list of elements for detail Items - Object. See list of elements for detail Supplier - Object. See list of elements for detail CountryOfSourcing - Object. See list of elements for detail Location - Object. See list of elements for detail CustomFlexAttribute - Object. See list of elements for detail Dimension - Object. See list of elements for detail LocalizationExtensions - Object. See list of elements for detail Attributes - Object. See list of elements for detail CountryOfManufacture - Object. See list of elements for detail Translation - Object. See list of elements for detail Uom - Object. See list of elements for detail PackDetail - Object. See list of elements for detail Vat - Object. See list of elements for detail RetailByZone - Object. See list of elements for detail Uda - Object. See list of elements for detail Uda.Translation - Object. See list of elements for detail Season - Object. See list of elements for detail Image - Object. See list of elements for detail Image.Translation - Object. See list of elements for detail Items.Translation - Object. See list of elements for detail Hts - Object. See list of elements for detail

Assessments - Object. See list of elements for detail Expense - Object. See list of elements for detail Ticket - Object. See list of elements for detail Upcharge - Object. See list of elements for detail

Details - Object. See list of elements for detail

ConditionalTariffTreatment - Object. See list of elements for detail

RelatedItems - Object. See list of elements for detail

RelatedItems.Translation - Object. See list of elements for detail RelatedItems.Details - Object. See list of elements for detail

RequiredDocuments - Object. See list of elements for detail

ItemImportAttributes - Object. See list of elements for detail

Response Code: 200 (Success)

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Create Item Import Attributes

Functional Area

Items - Item Definition

Business Overview

New service endpoints to create the import specific attributes associated with a given item.

Service Type

POST

ReST URL

MerchIntegrations/services/item/importAttributes/create
Input Payload Details

Table 5-715 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the
collection.
itemsYesCollection of ObjectReferences a collection
of items.

Table 5-716 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer
of the main item on
the message.
dataLoadingDestinatio
n
NoString (6)This feld indicates if
the item will be
created in
Merchandising or the
staging tables. Valid
values are RMS or STG.
If not defned, the
default is STG.
itemImportAttributesNoCollection of ObjectChild node holding
import specifc
attributes associated
with a given item.
localizationExtensionsNoCollection of ObjectHolds localization
attributes, including
Brazil fscal attributes.

Table 5-717 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryIdYesString (3)Id of the country
associated with the
localization attributes.
attributesYesCollection of ObjectThis holds the details
of localization
attributes.

Table 5-718 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute
name.
valueNoString (250)Holds the numeric or
string value of the
attribute.
valueDateNodateHolds the date value of
the attribute.

Table 5-719 ItemImportAttributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
importDescriptionNoString (2000)Contains description of
the item used for
importing purposes.

Table 5-719 (Cont.) ItemImportAttributes - Object. See list of elements for detail

Element Name
Required
Data TypeDescription
commodity
No
String (6)Contains the code used
to classify the item by
their type of
merchandise.
tooling
No
Number (20,4)Represents the cost
associated with a
specifc Tooling/Assist
charge. The value will
be provided in the
system’s primary
currency.
frstOrder
No
String (1)Used to determine if
duty is to be paid on
the total value of the
tooling expense the
frst time the item is
shipped.
amortizeBase
No
Number (12,4)Contains the number
of units over which the
tooling/assist cost will
be amortized.
openBalance
No
Number (12,4)Contains the open
balance of the number
of units yet to be
received over which
the tooling costs will
be amortized.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"item": "100100076",
"dataLoadingDestination": "RMS",
"itemImportAttributes": [
{
"importDescription": "import desc",
"commodity": "A123",
"tooling": 12,
"firstOrder": "Y",
"amortizeBase": 12.4568,
"openBalance": 12.4568
}
],
"localizationExtensions": [
{
"countryId": "BR",
"attributes": [
{
"name": "SPECIAL_CATEGORY_CODE",
"value": "WS_PRC_08",
"valueDate": "2001-12-31"
}
]
}
]
}
]
}
Response Code: 200 (Success)
Sample Response Message
{
"status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}
Create Required Documents
Functional Area
Items - Item Definition
Business Overview

This service is used to add required documents to an existing item in Merchandising. Required documents may be added together with the creation of a new item as well. For more details on item creation, see the Create Items service description.

Service Type
POST
ReST URL
MerchIntegrations/services/item/requiredDocuments/create
Input Payload Details

Table 5-720 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-721 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main item
on the message.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the staging
tables. Valid values are RMS or STG. If
not defned, the default is STG.
requiredDocumentsNoCollection of
Object
Child node holding documents
information of the item.
localizationExtensionsNoCollection of
Object
Holds localization attributes, including
Brazil fscal attributes.

Table 5-722 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryIdYesString (3)ID of the country associated with the
localization attributes.
attributesYesCollection of
Object
This holds the details of localization
attributes.

Table 5-723 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of the
attribute.
valueDateNodateHolds the date value of the attribute.

Table 5-724 RequiredDocuments - Object. See list of elements for detail

Element NameRequiredData TypeDescription
documentIdYesNumber (6)Unique number used to distinguish the
different documents.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "dataLoadingDestination": "RMS",
      "requiredDocuments": [
        {
          "documentId": 1
        }
      ],
      "localizationExtensions": [
        {
          "countryId": "BR",
          "attributes": [
            {
              "name": "SPECIAL_CATEGORY_CODE",
              "value": "WS_PRC_08",
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Item Description Translations
Functional Area

Items - Item Definition

Business Overview

This service is used to delete header level translations of an existing item in Merchandising.

Service Type

DELETE

ReST URL

MerchIntegrations/services/item/description/translations/delete

Input Payload Details

Table 5-725 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-726 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer for the item.
translationNoCollection ofReferences a collection of translations
Objectof item description feld.

Table 5-727 Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageYesNumber (6)The language ID.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "translation": [
        {
          "language": 5
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Item Image Translations

Functional Area

Items - Item Definition

Business Overview

This service is used to delete image level translations from an existing item within Merchandising.

Service Type

DELETE

ReST URL

MerchIntegrations/services/item/image/translations/delete

Input Payload Details

Table 5-728 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-729 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer for the item.
imageNoCollection of
Object
References a collection of item image.

Table 5-730 Image - Object. See list of elements for detail

Element NameRequiredData TypeDescription
imageNameYesString (120)The name of the image.
translationNoCollection ofReferences a collection of translations
Objectof item image description feld.

Table 5-731 Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageYesNumber (6)The language ID.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100000041",
      "image": [
        {
          "imageName": "Omni_Int_Delta_Change",
          "translation": [
            {
              "language": 38
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Item Images

Functional Area

Items - Item Definition

Business Overview

This service is used to delete an existing item image information from Merchandising. In order to perform this deletion, the image must exist for the item in Merchandising, else an error will be returned.

Service Type

DELETE

ReST URL

MerchIntegrations/services/item/images/delete

Input Payload Details

Table 5-732 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-733 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer for the item.
imageNoCollection of
Object
References a collection of item image.

Table 5-734 Image - Object. See list of elements for detail

Element NameRequiredData TypeDescription
imageNameYesString (120)The name of the image.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "image": [
        {
          "imageName": "imageName"
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message

{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Item Seasons

Functional Area

Items - Item Definition

Business Overview

This service is used to delete season data from an existing item in Merchandising.

Service Type

DELETE

ReST URL

MerchIntegrations/services/item/seasons/delete

Input Payload Details

Table 5-735 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-736 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer for the item.
seasonNoCollection ofReferences a collection of item
Objectseason.

Table 5-737 Season - Object. See list of elements for detail

Element NameRequiredData TypeDescription
seasonIdYesNumber (3)The season identifer.
phaseIdYesNumber (3)The phase identifer
diffIdNoString (10)This feld will hold a value for group/
differentiator combination records
only.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "season": [
        {
          "seasonId": 1,
          "phaseId": 1,
          "diffId": null
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Item Tickets

Functional Area

Items - Item Definition

Business Overview

This service is used to delete existing item tickets from Merchandising. In order to perform this deletion, the item/ticket type ID must exist within Merchandising, else an error will be returned.

Service Type

DELETE

ReST URL

MerchIntegrations/services/item/tickets/delete

Input Payload Details

Table 5-738 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.

Table 5-738 (Cont.) Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection of
Object
References a collection of items.

Table 5-739 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer for the item.
ticketNoCollection of
Object
References a collection of item ticket.

Table 5-740 Ticket - Object. See list of elements for detail

Element NameRequiredData TypeDescription
ticketTypeIdYesString (4)Id of the ticket type associated with
the item.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "ticket": [
        {
          "ticketTypeId": "TKT1"
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Item UDA Free Form Translations

Functional Area

Items - Item Definition

Business Overview

This service is used to delete freeform UDA translation from an existing item in Merchandising.

Service Type

DELETE

ReST URL

MerchIntegrations/services/item/uda/translations/delete

Input Payload Details

Table 5-741 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in
the collection.
itemsYesCollection of ObjectReferences a collection
of items.

Table 5-742 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer
for the item.
udaNoCollection of ObjectReferences a collection
of item uda.

Table 5-743 Uda - Object. See list of elements for detail

Element NameRequiredData TypeDescription
udaIdYesNumber (5)This feld contains a
number uniquely
identifying the User-
Defned Attribute.
displayTypeYesString (2)This feld contains the
display type (how the
UDA values will be
displayed to the user)
for the given UDA. The
valid values are DT -
Date, FF - Free From,
LV - List of values.
udaValueNoString (250)This feld contains
value of the Used
Defned attribute for
the item
translationNoCollection of ObjectChild node.

Table 5-744 Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageYesNumber (6)This feld represents
the language for which
the translation needs
to be deleted.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"item": "100100076",
"uda": [
{
"udaId": 201,
"displayType": "FF",
"udaValue": null,
"translation": [
{
"language": 2
}
]
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}
Delete Item UDAs

Functional Area

Items - Item Definition

Business Overview

This service is used to delete item UDAs in Merchandising. In order to delete an item UDA, the UDA must exist for the item in Merchandising, otherwise, an error will be returned.

Service Type

DELETE

ReST URL

MerchIntegrations/services/item/uda/delete

Input Payload Details

Table 5-745 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in
the collection.
itemsYesCollection of ObjectReferences a collection
of items.

Table 5-746 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer
for the item.
udaNoCollection of ObjectReferences a collection
of item uda.

Table 5-747 Uda - Object. See list of elements for detail

Element NameRequiredData TypeDescription
udaIdYesNumber (5)This feld contains a
number uniquely
identifying the User-
Defned Attribute.
displayTypeYesString (2)This feld contains the
display type (how the
UDA values will be
displayed to the user)
for the given UDA. The
valid values are DT -
Date, FF - Free From,
LV - List of values.
udaDateValueTextNoString (250)This feld contains
value of the Used
Defned attribute for
the item
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"item": "100100076",
"uda": [
{
"udaId": 201,
"displayType": "FF",
"udaDateValueText": "FF14St"
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}
Delete Item Up Charges

Functional Area

Items - Item Definition

Business Overview

This service is used to delete existing item upcharges from Merchandising. In order to delete item upcharges, the upcharge or upcharge/component id must exist for the item in Merchandising, otherwise, an error will be returned.

Service Type

DELETE

ReST URL

MerchIntegrations/services/item/upCharges/delete
Availability During Nightly Batch Cycle

This service will not be available when batches that affect costs are in-progress.

Input Payload Details

Table 5-748 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.

Table 5-748 (Cont.) Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection of
Object
References a collection of items.

Table 5-749 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer for the item.
upchargeNoCollection ofReferences a collection of item
Objectupcharge.

Table 5-750 Upcharge - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fromLocationTypeYesString (6)Location type of the from_loc. This
can be S - Store,W - Warehouse,A -
Area,R - Region,C - Country,AS - All
Stores,AW - All Warehouses,PW -
Physical Warehouse
fromLocationNoString (10)Depending on the from_loc_type, this
contains the organization hierarchy
value of store, warehouse, area,
region, or country from which
transferring goods will incur
upcharges. It will not contain a value
when from_loc_type is AS (all stores)
or AW (all warehouses).
toLocationTypeYesString (6)Location_type of the to_loc. This can
be S - Store,W - Warehouse,A - Area,R
- Region,C - Country,AS - All Stores,AW
- All Warehouses,PW - Physical
Warehouse
toLocationNoString (10)Depending on the to_loc_type, this
contains the organization hierarchy
value of store, warehouse, area,
region, or country from which
transferring goods will incur
upcharges. It will not contain a value
when to_loc_type is AS (all stores) or
AW (all warehouses).
detailsNoCollection of
Object
References a collection of item
upcharge detail records.

Table 5-751 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentIdYesString (10)This feld contains the unique
identifer of the Up Charge
component.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "104600060",
      "upcharge": [
        {
          "fromLocationType": "S",
          "fromLocation": "1211",
          "toLocationType": "S",
          "toLocation": "1111",
          "details": [
            {
              "componentId": "WHFEE"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Items

Functional Area

Items - Item Definition

Business Overview

This service is used to delete existing items within Merchandising based on the item number present in the message.

If you are deleting an item, the service will first validate that the item number provided is valid. If the item does not exist in Merchandising, an error message will be returned.

Service Type

DELETE

ReST URL

MerchIntegrations/services/items/delete

Input Payload Details

Table 5-752 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-753 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer for the item.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076"
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Required Documents

Functional Area

Items - Item Definition

Business Overview

This service is used to delete required document data from an existing item in Merchandising.

Service Type

DELETE

ReST URL

MerchIntegrations/services/item/requiredDocuments/delete

Input Payload Details

Table 5-754 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-755 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer for the item.
requiredDocumentsNoCollection of
Object
Child node.

Table 5-756 RequiredDocuments - Object. See list of elements for detail

Element NameRequiredData TypeDescription
documentIdYesNumber (6)Unique number used to distinguish the
different documents.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "requiredDocuments": [
        {
          "documentId": 1
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Update Item Description Translations

Functional Area

Items - Item Definition
Business Overview

This service is used to modify header level translations of an existing item in Merchandising.

Service Type
PUT
ReST URL
MerchIntegrations/services/item/description/translations/update
Input Payload Details

Table 5-757 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-758 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
translationNoCollection of
Object
References a collection of translations
of the item description feld.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-759 Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageYesNumber (6)This feld will hold the language in
which the translated text is
maintained.
shortDescriptionNoString (120)This feld will hold the translated text
of the shortened description of the
item.
itemDescriptionYesString (250)This feld will hold the translated text
of the primary description of the
item.
itemDescriptionSecondaryNoString (250)This feld will hold the translated text
of the secondary description of the
item.

Table 5-759 (Cont.) Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
longDescNoString (2000)Long description of the item.

Table 5-760 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-761 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message

{ "collectionSize": 1, "items": [ { "item": "106150023", "dataLoadingDestination": "RMS", "translation": [ { "language": 5, "shortDescription": " アイテム 106150023", "itemDescription": " レギュラーアイテム 106150023", "itemDescriptionSecondary": " レギュラーアイテム二次 106150023", "longDesc": "100100076 Item Regular" } ], "localizationExtensions": [ { "country": "BR", "attributes": [ { "name": "SPECIAL_CATEGORY_CODE", "value": "WS_PRC_08", "valueDate": "2001-12-31" } ] } ] }

  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Update Item Image Translations

Functional Area

Items - Item Definition

Business Overview

This service is used to modify image level translations of an existing item within Merchandising.

Service Type

PUT

ReST URL

MerchIntegrations/services/item/image/translations/update

Input Payload Details

Table 5-762 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.

Table 5-762 (Cont.) Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection of
Object
References a collection of items.

Table 5-763 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
imageNoCollection of
Object
References a collection of item
images.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-764 Image - Object. See list of elements for detail

Element NameRequiredData TypeDescription
imageNameYesString (120)The name of the image.
translationNoCollection ofReferences a collection of translations
Objectof item image description feld.

Table 5-765 Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageYesNumber (6)This is the language ID.
imageDescriptionYesString (40)The description associated with the
image.

Table 5-766 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection of
Object
This holds the details of localization
attributes.

Table 5-767 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message

{ "collectionSize": 1, "items": [ { "item": "100100076", "dataLoadingDestination": "RMS", "image": [ { "imageName": "imageName1", "translation": [ { "language": 20, "imageDescription": " Προηγο قμ ενη εικνα " } ] } ], "localizationExtensions": [ { "country": "BR", "attributes": [ { "name": "SPECIAL_CATEGORY_CODE", "value": "WS_PRC_08", "valueDate": "2001-12-31" } ] } ] } ] }

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Update Item Images

Functional Area

Items - Item Definition

Business Overview

This service is used to update an existing item image within Merchandising. In order to update an item image, the specified image name must exist for the item in Merchandising, else an error will be returned.

Service Type

PUT

ReST URL

MerchIntegrations/services/item/images/update

Input Payload Details

Table 5-768 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-769 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.

Table 5-769 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
imageNoCollection of
Object
References a collection of item
images.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-770 Image - Object. See list of elements for detail

Element NameRequiredData TypeDescription
imageNameYesString (120)The name of the image.
imageAddressNoString (255)Path where the fle of the image is
stored.
imageDescriptionNoString (40)The description associated with the
image.
imageTypeNoString (6)Field indicating the type of the image
of the item. Can be H(igh), M(edium),
L(ow) and T(humbnail).
primaryImageIndNoString (1)Field indicating whether the record is
a primary image or not.
displayPriorityNoNumber (4)Field to specify the display sequence
order of images associated to the item
per priority.

Table 5-771 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-772 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "dataLoadingDestination": "RMS",
      "image": [
        {
          "imageName": "imageName1",
          "imageAddress": "http://www.oracle.com/",
          "imageDescription": "imageDesc1",
          "imageType": "T",
          "primaryImageInd": "Y",
          "displayPriority": 1
        }
      ],
      "localizationExtensions": [
        {
          "country": "BR",
          "attributes": [
            {
              "name": "SPECIAL_CATEGORY_CODE",
              "value": "WS_PRC_08",
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Update Item Tickets
Functional Area
Items - Item Definition
Business Overview

This service is used to modify tickets of existing items in Merchandising. In order to update tickets, the item/ticket type id must exist in Merchandising, otherwise, an error will be returned. All item ticket fields except for ticket type ID are updateable and will go through the same validation as in the creation of item tickets.

Service Type
PUT
ReST URL
MerchIntegrations/services/item/tickets/update
Input Payload Details

Table 5-773 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-774 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
ticketNoCollection of
Object
References a collection of item ticket.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-775 Ticket - Object. See list of elements for detail

Element NameRequiredData TypeDescription
ticketTypeIdYesString (4)This unique identifer for the ticket
type which is associated with the
item.
poPrintTypeNoString (1)This feld indicates when the ticket
type for the given item should be
printed by default, upon the approval
(A) or receipt (R) of the purchase
order.
printOnPriceChangeIndNoString (1)This feld indicates whether or not
this type of ticket should be printed
for this item when a permanent price
change goes into effect. Valid values
are Y (yes) and N (no).
ticketOverPrintPercentageNoNumber
(12,4)
This feld contains a percent which
indicates the amount of tickets which
should be printed for a given event.

Table 5-776 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection of
Object
This holds the details of localization
attributes.

Table 5-777 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "102350132",
      "dataLoadingDestination": "RMS",
      "ticket": [
        {
          "ticketTypeId": "TKT1",
          "poPrintType": "R",
          "printOnPriceChangeInd": "N",
          "ticketOverPrintPercentage": 3
        }
      ],
      "localizationExtensions": [
        {
          "country": "BR",
          "attributes": [
            {
              "name": "SPECIAL_CATEGORY_CODE",
              "value": "WS_PRC_08",
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Update Item UDA Free Form Translations

Functional Area

Items - Item Definition

Business Overview

This service is used to update freeform item UDA level translations of an existing item within Merchandising.

Service Type

PUT

ReST URL
MerchIntegrations/services/item/uda/translations/update
Input Payload Details

Table 5-778 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in
the collection.
itemsYesCollection of ObjectReferences a collection
of items.

Table 5-779 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer
of the main item on
the message.
dataLoadingDestinatio
n
NoString (6)This feld indicates if
the item will be
created in
Merchandising or the
staging tables. Valid
values are RMS or STG.
If not defned, the
default is STG.
udaNoCollection of ObjectReferences a collection
of item UDAs.
localizationExtensionsNoCollection of ObjectHolds localization
attributes, including
Brazil fscal attributes.

Table 5-780 Uda - Object. See list of elements for detail

Element NameRequiredData TypeDescription
udaIdYesNumber (5)This feld contains a
number identifying
the User-Defned
Attribute.
displayTypeYesString (2)This feld contains the
display type (how the
UDA values will be
displayed to the user)
for the given UDA. The
valid values are DT -
Date, FF - Free From,
LV - List of values.

Table 5-780 (Cont.) Uda - Object. See list of elements for detail

Element NameRequiredData TypeDescription
udaTextNoString (250)This feld contains the
text value of the Used
Defned attribute for
the item.
translationNoCollection of ObjectChild node holding
translated UDA text
values by language for
the item.

Table 5-781 Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageYesNumber (6)This feld represents
the language in which
the translated text is
maintained. The
language should be
from the installed
language pack.
udaTextDescYesString (250)This contains the
translated value for
the UDA text in the
selected language.

Table 5-782 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryIdYesString (3)Id of the country
associated with the
localization attributes.
attributesYesCollection of ObjectThis holds the details
of localization
attributes.

Table 5-783 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute
name.
valueNoString (250)Holds the numeric or
string value of the
attribute.
valueDateNodateHolds the date value of
the attribute.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"item": "100100076",
"dataLoadingDestination": "RMS",
"uda": [
{
"udaId": 10000,
"displayType": "FF",
"udaText": null,
"translation": [
{
"language": 2,
"udaTextDesc": null
}
]
}
],
"localizationExtensions": [
{
"countryId": "BR",
"attributes": [
{
"name": "SPECIAL_CATEGORY_CODE",
"value": "WS_PRC_08",
"valueDate": "2001-12-31"
}
]
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}
Update Item UDAs

Functional Area

Items - Item Definition

Business Overview

This service is used to modify UDAs for an existing item in Merchandising. In order to update an item UDA of type date, freeform text, or list of values, the UDA must exist for the item in Merchandising, otherwise, an error will be returned.

Service Type

PUT

ReST URL

MerchIntegrations/services/item/uda/update
Input Payload Details

Table 5-784 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in
the collection.
itemsYesCollection of ObjectReferences a collection
of items.

Table 5-785 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer
of the main item on
the message.
dataLoadingDestinatio
n
NoString (6)This feld indicates if
the item will be
created in
Merchandising or the
staging tables. Valid
values are RMS or STG.
If not defned, the
default is STG.
udaNoCollection of ObjectReferences a collection
of item UDAs.

Table 5-785 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
localizationExtensionsNoCollection of ObjectHolds optional
localization attributes
that will be processed
by the localization
extension module.

Table 5-786 Uda - Object. See list of elements for detail

Element NameRequiredData TypeDescription
udaIdYesNumber (5)This feld contains a
number identifying
the User-Defned
Attribute.
displayTypeYesString (2)This feld contains the
display type (how the
UDA values will be
displayed to the user)
for the given UDA. The
valid values are DT -
Date, FF - Free From,
LV - List of values.
udaDateNodateThis feld contains the
text value of the Used
Defned attribute for
the item.
udaValueNoString (30)This feld contains
value of the Used
Defned attribute for
the item.
udaTextNoString (250)This feld contains the
text value of the Used
Defned attribute for
the item.
newUdaDateNodateThis feld contains the
value for modifcation
the uda_date of the
Used Defned attribute
for the item.
newUdaValueNoString (30)This feld contains the
value for modifcation
the uda_value of the
Used Defned attribute
for the item.
newUdaTextNoString (250)This feld contains the
value for modifcation
the uda_date of the
Used Defned attribute
for the item.

Table 5-787 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country
associated with the
localization attributes.
attributesYesCollection of ObjectThis holds the details
of localization
attributes.

Table 5-788 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute
name.
valueNoString (250)Holds the numeric or
string value of the
attribute.
valueDateNodateHolds the date value of
the attribute.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"item": "100100076",
"dataLoadingDestination": "RMS",
"uda": [
{
"udaId": 10000,
"displayType": "FF",
"udaDate": "2001-12-31",
"udaValue": null,
"udaText": null,
"newUdaDate": "2001-12-31",
"newUdaValue": null,
"newUdaText": null
}
],
"localizationExtensions": [
{
"country": "BR",
"attributes": [
{
"name": "SPECIAL_CATEGORY_CODE",
"value": "WS_PRC_08",
"valueDate": "2001-12-31"
}
]
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}
Update Item Up Charge Details

Functional Area

Items - Item Definition

Business Overview

This service is used to modify details for existing item upcharges in Merchandising. To update an item upcharge detail, the upcharge/component ID must exist for the item in Merchandising; otherwise, an error will be returned.

Service Type

PUT

ReST URL

MerchIntegrations/services/item/upCharge/details/update
Availability During Nightly Batch Cycle

This service will not be available when batches that affect costs are in-progress.

Input Payload Details

Table 5-789 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-790 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.
upchargeNoCollection of
Object
References a collection of item
upcharges.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-791 Upcharge - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fromLocationTypeYesString (6)Location type of the from_loc. This
can be S - Store,W - Warehouse,A -
Area,R - Region,C - Country,AS - All
Stores,AW - All Warehouses,PW -
Physical Warehouse
fromLocationNoString (10)Depending on the from_loc_type, this
contains the organization hierarchy
value of store, warehouse, area,
region, or country from which
transferring goods will incur
upcharges. It will not contain a value
when from_loc_type is AS (all stores)
or AW (all warehouses).
toLocationTypeYesString (6)Location_type of the to_loc. This can
be S - Store,W - Warehouse,A - Area,R
- Region,C - Country,AS - All Stores,AW
- All Warehouses,PW - Physical
Warehouse
toLocationNoString (10)Depending on the to_loc_type, this
contains the organization hierarchy
value of store, warehouse, area,
region, or country to which
transferring goods will incur
upcharges. It will not contain a value
when to_loc_type is AS (all stores) or
AW (all warehouses).

Table 5-791 (Cont.) Upcharge - Object. See list of elements for detail

Element NameRequiredData TypeDescription
detailsYesCollection ofReferences a collection of item
Objectupcharge detail records.

Table 5-792 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentIdYesString (10)Up Charge component.
componentRateYesNumber
(20,4)
The rate to be charged against the
cost of the Item/To Location
combinations within the department.
The value in this feld will be a
percentage if the calculation basis is
V (Value), and a monetary amount if
the calculation basis is S.
perCountNoNumber
(12,4)
count indicating the amount of the
Per Count Unit of Measure to which
the rate applies. This will only
contain a value if the calculation
basis is S (Specifc).
perCountUomNoString (4)contains the unit of measure in which
the Per Count is specifed. This
column will only contain a value if
the calculation basis is S (Specifc).
upChargeGroupYesString (6)group to which the component ID
belongs. This can be A-Admin. Fee,F-
Freight,K-Special K Fees,M-
Miscellaneous,T-Taxes,W-Franchise.
componentCurrencyYesString (3)Currency of the Up Charge
component.
transferAllocationDefaultIndNoString (1)Indicates whether all existing
transfers and allocations belonging to
the hierarchy should be updated or
not.
computationValueBaseNoString (10)Contains the Computation Value Basis
for the Up Charge component.
costBasisNoString (6)Contains the basis the Up Charge will
be calculated against. Valid values are
defned in code type UCCB (Up Charge
Cost Basis) with values: Weighted
Average Cost (W) and Supplier Cost
(S) and Off-Invoice Net Cost (N).
includeInTotalUpchargeIndNoString (1)Used to determine if the value of the
individual up charge component is
used to calculate the total up charge
(Y) or if it is only used as the basis of
calculating another up charge (N).

Table 5-793 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-794 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100500029",
      "dataLoadingDestination": "RMS",
      "upcharge": [
        {
          "fromLocationType": "W",
          "fromLocation": "10001",
          "toLocationType": "S",
          "toLocation": "1231",
          "details": [
            {
              "componentId": "WHFEE",
              "componentRate": 3.55,
              "perCount": 1,
              "perCountUom": "EA",
              "upChargeGroup": "A",
              "componentCurrency": "USD",
              "transferAllocationDefaultInd": "Y",
              "computationValueBase": null,
              "costBasis": null,
              "includeInTotalUpchargeInd": "Y"
            }
          ]
        }
      ],
      "localizationExtensions": [
        {
          "country": "BR",
          "attributes": [
            {
              "name": "SPECIAL_CATEGORY_CODE",
              "value": "WS_PRC_08",
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Update Items

Functional Area

Items - Item Definition

Business Overview

This service is used to modify header level information of existing items in Merchandising.

Updates can be made to the items that are in Worksheet, Submitted, or Approved status. In order to perform the update, the service will validate that the item number included in the message already exists within Merchandising. Only header level fields need to be provided for header level updates. Any item details included in the message will be ignored for a header level update message. There are certain fields that are not allowed to be updated at the header level depending on the status, and if these are still provided in the message, an appropriate error message will be returned. Any custom flexible attributes (CFAS) defined at the item level, can be updated as part of this service. The flexible attributes are treated as a single group and the complete CFAS payload needs to be included in the message for Update.

If an attribute is omitted from the message or is included with an empty (NULL) value, then the existing value will be cleared out.

This service can also be used to reinstate a deleted item back to its previous status. In such a scenario, the status needs to be passed as ‘R’ which will solely reinstate the item to its last defined status and ignore any updates to other fields included in the payload.

Service Type
PUT
ReST URL
MerchIntegrations/services/items/update
Availability During Nightly Batch Cycle

This service will not be available during total duration of nightly batch run cycle.

Input Payload Details

Table 5-795 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of items.

Table 5-796 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer of the main
item on the message.
statusNoString (1)Status of the item.
itemDescriptionNoString (250)The long description of the item.
shortDescriptionNoString (120)The short description of the item. If
this feld is not populated it will
default from the long description.
itemDescriptionSecondaryNoString (250)Secondary descriptions of the item.
longDescNoString (2000)Long description of the item.
standardUomNoString (4)The unit of measure at which the
item is tracked at the corporate level.
This will be defaulted to EA (eaches)
if not populated on the message. It
cannot be modifed.
primaryReferenceItemIndNoString (1)This feld indicates whether the sub-
transation level item is designated as
the primary sub-transaction level
item. For transaction level items and
above the value in this feld will be
No.

Table 5-796 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diff1NoString (10)Diff_group or diff_id that
differentiates the current item from
its item_parent. For an item that is a
parent, this feld may be either a
group (i.e. Mens pant sizes) or a value
(6 oz).
diff2NoString (10)Diff_group or diff_id that
differentiates the current item from
its item_parent. For an item that is a
parent, this feld may be either a
group (i.e. Mens pant sizes) or a value
(6 oz).
diff3NoString (10)Diff_group or diff_id that
differentiates the current item from
its item_parent. For an item that is a
parent, this feld may be either a
group (i.e. Mens pant sizes) or a value
(6 oz).
diff4NoString (10)Diff_group or diff_id that
differentiates the current item from
its item_parent. For an item that is a
parent, this feld may be either a
group (i.e. Mens pant sizes) or a value
(6 oz).
storeOrderMultipleNoString (1)The unit type of merchandise shipped
from the warehouse to the store for
this item. Valid values are C (cases), I
(inners), and E (eaches).
forecastIndNoString (1)Indicates whether the item is
forecastable. Valid value are Y (yes)
and N (no). This value should be N if
the item is a pack.
uomConversionFactorNoNumber
(20,10)
Conversion factor between an Each
and the standard_uom when the
standard_uom is not in the quantity
class (e. g. if standard_uom = lb and 1
lb = 10 eaches, this factor will be 10).
This factor will be used to convert
sales and stock data when an item is
retailed in eaches but does not have
eaches as its standard unit of
measure.
packageSizeNoNumber
(12,4)
Holds the size of the product printed
on any packaging (i. e. 24 ounces).
This feld is used for reporting
purposes, as well as by Oracle Retail
Price Mangement to determine same
sized and different sized items.
handlingTemperatureNoString (6)Holds the temperature information
associated with the item. Valid codes
are defned in the HTMP code type.
Examples are: FRIDGE - Keep
Refrigerated, FROZEN - Keep Frozen.

Table 5-796 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
handlingSensitivityNoString (6)Holds the sensitivity information
associated with the item. Valid codes
are defned in the HSEN code type.
Examples are: EXPLOD - Explosive,
FRAG - Fragile.
manufacturerRecommended
Retail
NoNumber
(20,4)
Manufacturers recommended retail
price for the item in primary
currency. Used for informational
purposes only.
wasteTypeNoString (6)Identifes the wastage type as either
sales or spoilage wastage. Valid
values are: SP - Spoilage, SL - Sales
Wastage is not applicable to pack
items.
averageWastePercentageNoNumber
(12,4)
Average percent of wastage for the
item over its shelf life. Used in
infating the retail price for wastage
items.
catchWeightIndNoString (1)Indiactes whether the item should be
weighed when it arives at a location.
Valid values for this feld are Y and N.
containerItemNoString (25)This holds the container item number
for a content item.
packageUomNoString (4)Holds the unit of measure associated
with the package size. This feld is
used for reporting purposes and by
Retek Price Management to
determine same sized and different
sized items.
brandNameNoString (120)This is added to capture the brand
information of an item.
productClassifcationNoString (6)This defnes which items can be
combined (packed or boxed) together.
Valid codes are defned in the PCLA
code type. Examples are: APP -
Apparel, GRC - Grocery.
originalRetailNoNumber
(20,4)
The original retail price of the item
per unit. This feld is stored in the
primary currency.
retailLabelTypeNoString (6)This feld indicates any special label
type assoctiated with an item. Valid
codes are defned in the RTLT code
type. Examples are: COFF - Cents Off,
EXTRA - Extra Product, PREP - Pre-
Priced.
retailLabelValueNoNumber
(20,4)
This feld represents the value
associated with the retail label type.
defaultWastePercentageNoNumber
(12,4)
Default daily wastage percent for
spoilage type wastage items.

Table 5-796 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemServiceLevelNoString (6)Holds a value that restricts the type of
shipment methods that RCOM can
select for an item.
depositInPricePerUomNoString (6)This feld indicates if the deposit
amount is included in the price per
UOM calculation for a contents item
ticket. Valid codes are defned in the
DITM code type. Examples are: E -
Exclusive of Deposit Amount, I -
Inclusive of Deposit Amount.
constantDimensionIndNoString (1)Indicates that the dimensions of the
product are always the same,
regardless of the supplier. If this feld
is Y, the dimensions for all suppliers
will be defaulted to the primary
supplier/primary country
dimensions. Editing of dimensions for
the item will only be allowed for the
primary supplier/primary country.
giftWrapIndNoString (1)This feld will contain a value of ‘Y’ if
the item is eligible to be gift wrapped.
shipAloneIndNoString (1)This feld will contain a value of Y if
the item should be shipped to the
customer is a seperate package
versus being grouped together in a
box.
aipCaseTypeNoString (6)Only used if AIP is integrated.
Determines which case sizes to
extract against an item in the AIP
interface. Applicable only to non-pack
orderable items. Valid values are
defned in the AIPT code type.
Examples are: F - Formal and I -
Informal.
transferAllocUpChargeSourc
eType
NoString (6)This feld impacts how up charges
default to transfers and allocations
when an item is added. When set to
’D’, department-level up charges are
applied if item-level up charges are
not defned for the item/from-
location/to-location combination.
When set to ‘I’, only item-level up
charges are applied; department-level
up charges are not inherited.
commentsNoString (2000)Comments associated with the item.
dataLoadingDestinationNoString (6)This feld indicates if the item will be
created in Merchandising or the
staging tables. Valid values are RMS
or STG. If not defned, the default is
STG.

Table 5-796 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes. This collection is
treated as a single group and should
include all named fexible attributes
for the business entity. If any
confgured named attribute is
missing from the input collection, its
value will be set to NULL.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-797 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.

Table 5-798 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-799 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "100100076",
      "status": "W",
      "itemDescription": "Regular Item 100100076",
      "shortDescription": "100100076 Item",
      "itemDescriptionSecondary": "100100076 Item Regular",
      "longDesc": "100100076 Item Regular",
      "standardUom": "EA",
      "primaryReferenceItemInd": "N",
      "diff1": null,
      "diff2": null,
      "diff3": null,
      "diff4": null,
      "storeOrderMultiple": "E",
      "forecastInd": null,
      "uomConversionFactor": 3,
      "packageSize": 90.00,
      "handlingTemperature": null,
      "handlingSensitivity": null,
      "manufacturerRecommendedRetail": 12.99,
      "wasteType": null,
      "averageWastePercentage": 18.00,
      "catchWeightInd": "N",
      "containerItem": null,
      "packageUom": null,
      "brandName": null,
      "productClassification": null,
      "originalRetail": 12.99,
      "retailLabelType": null,
      "retailLabelValue": null,
      "defaultWastePercentage": null,
      "itemServiceLevel": null,
      "depositInPricePerUom": "I",
      "constantDimensionInd": "Y",
      "giftWrapInd": "Y",
      "shipAloneInd": "Y",
      "aipCaseType": null,
      "transferAllocUpChargeSourceType": "D",
      "comments": null,
      "dataLoadingDestination": "RMS",
      "customFlexAttribute": [
        {
          "name": "REVIEW_DATE",
          "value": null,
          "valueDate": "2001-12-31"
        }
      ],
      "localizationExtensions": [
        {
          "country": "BR",
          "attributes": [
            {
              "name": "SPECIAL_CATEGORY_CODE",
              "value": "WS_PRC_08",
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Update Item Import Attributes

Functional Area

Items - Item Definition

Business Overview

New service endpoints will be added to modify the import specific attributes associated with a given item.

Service Type

PUT

ReST URL

MerchIntegrations/services/item/importAttributes/update

Input Payload Details

Table 5-800 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the
collection.

Table 5-800 (Cont.) Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection of ObjectReferences a collection
of items.

Table 5-801 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer
of the main item on
the message.
dataLoadingDestinatio
n
NoString (6)This feld indicates if
the item will be
created in
Merchandising or the
staging tables. Valid
values are RMS or STG.
If not defned, the
default is STG.
itemImportAttributesNoCollection of ObjectChild node holding
import specifc
attributes associated
with a given item.
localizationExtensionsNoCollection of ObjectHolds localization
attributes, including
Brazil fscal attributes.

Table 5-802 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryIdYesString (3)Id of the country
associated with the
localization attributes.
attributesYesCollection of ObjectThis holds the details
of localization
attributes.

Table 5-803 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute
name.
valueNoString (250)Holds the numeric or
string value of the
attribute.
valueDateNodateHolds the date value of
the attribute.

Table 5-804 ItemImportAttributes - Object. See list of elements for detail

Element Name
Required
Data TypeDescription
importDescription
No
String (2000)Contains description of
the item used for
importing purposes.
commodity
No
String (6)Contains the code used
to classify the item by
their type of
merchandise.
tooling
No
Number (20,4)Represents the cost
associated with a
specifc Tooling/Assist
charge. The value will
be provided in the
system’s primary
currency.
frstOrder
No
String (1)Used to determine if
duty is to be paid on
the total value of the
tooling expense the
frst time the item is
shipped.
amortizeBase
No
Number (12,4)Contains the number
of units over which the
tooling/assist cost will
be amortized.
openBalance
No
Number (12,4)Contains the open
balance of the number
of units yet to be
received over which
the tooling costs will
be amortized.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"item": "100100076",
"dataLoadingDestination": "RMS",
"itemImportAttributes": [
{
"importDescription": "import desc",
"commodity": "A123",
"tooling": 12,
"firstOrder": "Y",
"amortizeBase": 12.4568,
"openBalance": 12.4568
}
],
"localizationExtensions": [
{
"countryId": "BR",
"attributes": [
{
"name": "SPECIAL_CATEGORY_CODE",
"value": "WS_PRC_08",
"valueDate": "2001-12-31"
}
]
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
"status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}

Manage Substitute Items

Functional Area

Items - Item Definition

Business Overview

Service endpoint to create, update or delete substitute items for an item.

Service Type

POST

ReST URL
MerchIntegrations/services/item/location/substituteItems/manage
Input Payload Details

Table 5-805 Manage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)
itemsYesCollection of Object

Table 5-806 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionYesString (10)Describes type of
action.
itemYesString (25)Alphanumeric
identifer for the main
item. This item must
exist as a main sku on
the sub_items_head
table.
locationHierarchyLeve
l
YesString (5)The corresponding ID
based on the specifed
level of the
organizational
hierarchy. Valied
values are codes from
code_type ‘GRTA’.
hierarchyNoString (20)The level of the
organizational
hierarchy used for
item-location
relationships to add
substitute item.
fllPriorityNoString (1)This contains the fll
priority for the main
item. This feld applies
only to Warehouses.
useSalesNoString (1)This indicates whether
substitute items will be
used in calculating the
maximum stock for the
foating-point
replenishment
method.

Table 5-806 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
useStockNoString (1)This indicates whether
the substitute items
will be used in
calculating the net
inventory at a location
when determining the
locations need for the
main item. When set
Yes (‘Y’), the substitute
item stock can be used
to fulfl a locations
warehouse demands
for the main item.
useForecastSalesNoString (1)This indicates whether
the substitute item be
used to determine the
required stock at a
given location when a
forecasting
replenishment method
is used for the main
item.
detailsNoCollection of ObjectChild node containing
the details of substitute
items.

Table 5-807 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
substituteItemYesString (25)This contains unique
identifer for the
substitute item.
primaryReplenishment
Pack
NoString (25)This contains the
replenishment pack,
which will be used to
fulfll the demand of
the associated item.
pickPriorityNoNumber (3)Contains the pick
priority for the
substitute item. If
there are multiple
substitute items for a
main item, then the
pick priority will
determine the order in
which the substitute
items will fulfll the
store’s demand.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"action": "CREATE",
"item": "100100050",
"locationHierarchyLevel": "S",
"hierarchy": "1010",
"fillPriority": "M",
"useSales": "Y",
"useStock": "Y",
"useForecastSales": "Y",
"details": [
{
"substituteItem": "100100068",
"primaryReplenishmentPack": "100100092",
"pickPriority": 1
}
]
}
]
}
Response Code: 200 (Success)
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}

The following services are included in this functional area:

  • Create Related Items

  • Create Related Item Translations

  • Delete Related Items

  • Delete Related Item Translations

  • Update Related Items

  • Update Related Item Translations

Functional Area

Items - Related Items

Business Overview

This service is used to add related items to an existing item in Merchandising. Related items can also be added together with the creation of a new item. For more details on item creation, see the Create Items service description.

Service Type

POST

ReST URL

MerchIntegrations/services/item/relatedItems/create
Input Payload Details

Table 5-808 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in
the collection.
itemsYesCollection of ObjectReferences a collection
of items.

Table 5-809 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer
of the main item on
the message.
dataLoadingDestinatio
n
YesString (6)This feld indicates if
the item will be
created in
Merchandising or the
staging tables. Valid
values are RMS or STG.
If not defned, the
default is STG.
relatedItemsYesCollection of ObjectChild node holding
related-item
information for the
item.
localizationExtensionsNoCollection of ObjectHolds localization
attributes, including
Brazil fscal attributes.

Table 5-810 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country
associated with the
localization attributes.
attributesYesCollection of ObjectThis holds the details
of localization
attributes.

Table 5-811 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute
name.
valueNoString (250)Holds the numeric or
string value of the
attribute.
valueDateNodateHolds the date value of
the attribute.

Table 5-812 RelatedItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
relationshipIdNoNumber (20)Unique identifer for
each relationship
header.
relationshipNameYesString (255)Name given to the
relationship.
relationshipTypeYesString (6)Describes the type of
relationship. Values
are confgured in
code_detail table
under code_type IREL.
mandatoryIndNoString (1)Indicates whether the
relationship is
mandatory.
detailsYesCollection of ObjectChild node containing
the details for related
item.

Table 5-813 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
relatedItemYesString (25)Item id of the related
item.

Table 5-813 (Cont.) Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
priorityNoNumber (4)Applicable only in case
of relationship type
SUBS. In case of
multiple related
substitute items, this
column could be used
(optional) to defne
relative priority.
startDateNodateFrom this date related
item can be used on
transactions.
endDateNodateTill this date related
item can be used on
transactions. A value
of null means that it is
effective forever.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"item": "100100076",
"dataLoadingDestination": "RMS",
"relatedItems": [
{
"relationshipId": 10001,
"relationshipName": "Related Item Test",
"relationshipType": "SUBS",
"mandatoryInd": "Y",
"details": [
{
"relatedItem": "100100141",
"priority": 1,
"startDate": "2001-12-31",
"endDate": "2001-12-31"
}
]
}
],
"localizationExtensions": [
{
"country": "BR",
"attributes": [
{
"name": "SPECIAL_CATEGORY_CODE",
"value": "WS_PRC_08",
"valueDate": "2001-12-31"
}
]
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}

Functional Area

Items - Related Items

Business Overview

If translations have been defined for items, at related item level, then they can be integrated as part of this service. The service will accept the language and the description specified in the language to add related item translations to an existing item in Merchandising.

Service Type

POST

ReST URL
MerchIntegrations/services/item/relatedItem/translations/create

Input Payload Details

Table 5-814 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in
the collection.
itemsYesCollection of ObjectReferences a collection
of items.

Table 5-815 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer
of the main item on
the message.
dataLoadingDestinatio
n
YesString (6)This feld indicates if
the item will be
created in
Merchandising or the
staging tables. Valid
values are RMS or STG.
If not defned, the
default is STG.
relateditemYesCollection of ObjectChild node holding
related-item
information for the
item.

Table 5-816 Relateditem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
relationshipIdYesNumber (20)Unique identifer for
each relationship
header.
translationYesCollection of ObjectChild node containing
the translated value of
the relationship name.

Table 5-817 Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
langYesNumber (6)This feld contains the
language in which the
translated text is
maintained.
relationshipNameYesString (255)The translated text of
the relationship name.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"item": "100100076",
"dataLoadingDestination": "RMS",
"relateditem": [
{
"relationshipId": 10041,
"translation": [
{
"lang": 2,
"relationshipName": "Descripción de la relación"
}
]
}
]
}
]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}

Functional Area

Items - Related Items

Business Overview

This service is used to delete existing item relationship from Merchandising. In order to perform this deletion, the relationship ID must exist within Merchandising, else an error will be returned.

Service Type

DELETE

ReST URL

MerchIntegrations/services/item/relatedItems/delete

Input Payload Details

Table 5-818 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in
the collection.
itemsYesCollection of ObjectReferences a collection
of items.

Table 5-819 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer
for the item.
relatedItemYesCollection of ObjectChild node.

Table 5-820 RelatedItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
relationshipIdYesNumber (20)Unique identifer for
the relationship.
detailsNoCollection of ObjectChild node.

Table 5-821 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
relatedItemNoString (25)Item id of the related
item.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"item": "100100076",
"relatedItem": [
{
"relationshipId": 10001,
"details": [
{
"relatedItem": "100100141"
}
]
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}

Functional Area

Items - Related Items

Business Overview

This service is used to delete an existing translation record of a related item relationship in Merchandising.

Service Type

DELETE

ReST URL
MerchIntegrations/services/item/relatedItem/translations/delete

Input Payload Details

Table 5-822 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in
the collection.
itemsYesCollection of ObjectReferences a collection
of items.

Table 5-823 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer
for the item.
relatedItemNoCollection of ObjectChild node.

Table 5-824 RelatedItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
relationshipIdYesNumber (20)Unique identifer for
the relationship.
translationNoCollection of ObjectChild node.

Table 5-825 Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
langYesNumber (6)The language ID.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"item": "100100076",
"relatedItem": [
{
"relationshipId": 10001,
"translation": [
{
"lang": 2
}
]
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}

Functional Area

Items - Related Items

Business Overview

This service is used to update item relationships of an existing item within Merchandising. In order to update an item relationship, the specified relationship ID must exist for the item in Merchandising, else an error will be returned.

Service Type

PUT

ReST URL

MerchIntegrations/services/item/relatedItems/update

Input Payload Details

Table 5-826 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in
the collection.
itemsYesCollection of ObjectReferences a collection
of items.

Table 5-827 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer
of the main item on
the message.
dataLoadingDestinatio
n
YesString (6)This feld indicates if
the item will be
created in
Merchandising or the
staging tables. Valid
values are RMS or STG.
If not defned, the
default is STG.
relatedItemsYesCollection of ObjectChild node holding
related-item
information for the
item.

Table 5-828 RelatedItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
relationshipIdYesNumber (20)Unique identifer for
each relationship
header.
relationshipNameYesString (255)Name given to the
relationship.
relationshipTypeYesString (6)Describes the type of
relationship. Values
are confgured in
code_detail table
under code_type IREL.
mandatoryIndYesString (1)Indicates whether the
relationship is
mandatory.
detailsNoCollection of ObjectChild node containing
the details for related
item.

Table 5-829 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
relatedItemNoString (25)Item id of the related
item.
priorityNoNumber (4)Applicable only in case
of relationship type
SUBS. In case of
multiple related
substitute items, this
column could be used
(optional) to defne
relative priority.
startDateNodateFrom this date related
item can be used on
transactions.
endDateNodateTill this date related
item can be used on
transactions. A value
of null means that it is
effective forever.

Sample Input Message

{
"collectionSize": 1,
"items": [
{
"item": "100100076",
"dataLoadingDestination": "RMS",
"relatedItems": [
{
"relationshipId": 10001,
"relationshipName": "Related Item Test - Updated",
"relationshipType": "SUBS",
"mandatoryInd": "N",
"details": [
{
"relatedItem": "100100141",
"priority": 2,
"startDate": "2001-12-31",
"endDate": "2001-12-31"
}
]
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}

Functional Area

Items - Related Items

Business Overview

This service is used to update related item level translations of an existing item within Merchandising.

Service Type

PUT

ReST URL
MerchIntegrations/services/item/relatedItem/translations/update

Input Payload Details

Table 5-830 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in
the collection.
itemsYesCollection of ObjectReferences a collection
of items.

Table 5-831 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The unique identifer
of the main item on
the message.
dataLoadingDestinatio
n
YesString (6)This feld indicates if
the item will be
created in
Merchandising or the
staging tables. Valid
values are RMS or STG.
If not defned, the
default is STG.
relatedItemYesCollection of ObjectChild node holding
related-item
information for the
item.

Table 5-832 RelatedItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
relationshipIdYesNumber (20)Unique identifer for
each relationship
header.
translationYesCollection of ObjectChild node containing
the translated value of
the relationship name.

Table 5-833 Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
langYesNumber (6)This feld contains the
language in which the
translated text is
maintained.
relationshipNameYesString (255)The translated text of
the relationship name.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"item": "100100076",
"dataLoadingDestination": "RMS",
"relatedItem": [
{
"relationshipId": 10041,
"translation": [
{
"lang": 20,

"relationshipName": " ενη μ ερω μق νη περιγραφ της σχσης " } ] } ] } ] }

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}

Item Foundation

The following services are included in this functional area:

  • Brand Download Service

    • Get Brands
  • Brand Upload Service

    • Manage Brands
  • Differentiator Download Service

    • Get Differentiator Details

    • Get Differentiator Details for Provided Differentiator

    • Get Differentiator Details for Single Differentiator

  • Differentiator Group Download Service

    • Get Differentiator Groups

    • Get Differentiators for Provided Group

  • Differentiator Group Upload Service

    • Create Differentiator Group Details

    • Create Differentiator Groups

    • Delete Differentiator Group Details

    • Delete Differentiator Groups

    • Update Differentiator Group Details

    • Update Differentiator Groups

  • Differentiator Type Download Service

    • Get Differentiator Type Details for Provided Type

    • Get Differentiator Types

  • Differentiator Upload Service

    • Create Differentiators

    • Delete Differentiators

    • Update Differentiators

  • Seasons and Phases Download Service

    • Get Seasons and Phases Service
  • User Defined Attribute (UDA) Download Service

    • REST Endpoint for UDA details

    • REST Endpoint to Fetch UDA by UDA ID

Brand Download Service

The following services are included in this functional area:

  • Get Brands
Get Brands

Endpoints

/MerchIntegrations/services/item/brands

Functional Area

Items - Item Foundation

Business Overview

This service retrieves all Brand records. This service supports pagination and the page size of each response is controlled by the query parameter ‘limit’. This service takes an optional query parameter of brand name to retrieve the specified brand.

Service Type

GET

ReST URL

MerchIntegrations/services/item/brands

Input Parameters

Parameter NameRequiredData TypeDescription
limitNoString (6)Pagination limit.
Default value is 1000.
offsetkeyNoStringOffset key (Brand
Name)
brandNameNoStringBrand Name
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Response Code: 200 (Success)

Table 5-834 PageResultItemsBrand - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-835 Brand - Object. See list of elements for detail

Element NameRequiredData TypeDescription
brandNameYesString (30)This feld contains the
brand name.
brandDescriptionYesString (120)This feld contains the
brand description.

Table 5-835 (Cont.) Brand - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDatetimeYesdateTimeThis feld contains the
date-time in UTC when
this record was
created.
lastUpdateDatetimeYesdateTimeThis feld contains the
date-time in UTC when
this record was
updated.

Table 5-836 LinkItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetches and contains
the offsetkey which
unique identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"brandName": "ORCL",
"brandDescription": "Oracle",
"createDatetime": "2001-12-31T23:59:59.000Z",
"lastUpdateDatetime": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1,
"count": 1,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?limit=1000",
"rel": "self"
}
]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}

Brand Upload Service

The following services are included in this functional area:

  • Manage Brands
Manage Brands

Functional Area

Items - Item Foundation

Business Overview

This service allows external system to manage brand data. It supports creating, updating and deleting brand records as well as managing translated brand descriptions.

This service accepts brand data as input. If the delete indicator is set to ‘N’ (or is empty) and the input brand name does not exists in the system, a new brand record will be created. If the brand name already exists, it will update the brand description (if provided) and the provided translation entries.

A value of ‘Y’ in the delete indicator will delete the brand record if the brand is not attached with any item.

Service Type

PUT

ReST URL

MerchIntegrations/services/item/brands/manage

Input Payload Details

Table 5-837 Manage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of Brand Data.

Table 5-838 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
brandNameYesString (30)This feld contains the brand name.
This is maintained in upper case.
brandDescriptionNoString (120)This feld contains the description of
the brand. This feld is optional and if
provided, brand description will be
updated for an existing record. This
feld is requried for new brand
creation and any update request
where transalation records are not
being maintained.
deleteIndNoString (1)This optional feld allows for delete of
existing brand record provided the
brand is not attached to any item. If
this is set to Y (Yes), input brand
name must exists in the system.
Default value is ‘N’
translationNoCollection of
Object
References a collection of translations
of the brand description feld.

Table 5-839 Translation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageYesNumber (6)This feld contains the language ID.
This value must be predefned on the
LANG table. This should not be the
system primary language id.
brandDescriptionNoString (120)This feld contains the translated
description of the brand in the
provided language id. This feld is
optional for delete of an existing
transaction entry.
deleteIndNoString (1)This optional feld allows for delete of
existing translation entry for brand.
If this is set to Y (Yes), the transalation
entry must exists for the input
language id. Default value is ‘N’

Table 5-840 ManageError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
brandNameYesString (30)This feld contains the input brand
name for which validation error
happened
errorMessageYesString (2000)This feld contains the error message.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "brandName": "NEW",
      "brandDescription": "New Brand",
      "deleteInd": null,
      "translation": [
        {
          "language": 3,
          "brandDescription": "Nouvelle marque",
          "deleteInd": null
        }
      ]
    }
  ]
}

Response Code: 200 (Success) Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Table 5-841 ManageError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
brandNameYesString (30)This feld contains the input brand
name for which validation error
happened
errorMessageYesString (2000)This feld contains the error message.
Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    {
      "brandName": "NEW",
      "errorMessage": "Delete failed because brand is associated with one or
more items"
    }
  ]
}

Differentiator Download Service

The following services are included in this functional area:

  • Get Differentiator Details

  • Get Differentiator Details for Provided Differentiator

  • Get Differentiator Details for Single Differentiator

Get Differentiator Details

Endpoints

MerchIntegrations/services/foundation/diffid
MerchIntegrations/services/foundation/diffid/{diffId}

Functional Area

Items – Item Foundation

Business Overview

This service publishes differentiator master data to downstream consuming systems. It publishes only differentiators whose DIFF_TYPE still resolves to a valid row in DIFF_TYPE.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: DIFF_IDS

Additional business tables: DIFF_TYPE

JSON cache table: MERCHAPI_EXT_DIFF_IDS

JSON generation view: V_MERCHAPI_EXT_DIFF_IDS_JSON

Builds the payload from DIFF_IDS and joins DIFF_TYPE to add the differentiator type description.

Functionally, that means only differentiators whose DIFF_TYPE still resolves to a valid row in DIFF_TYPE are published.

Initial refresh supports both truncate-and-load and rebuild behavior, and rebuild marks cache rows deleted when the differentiator no longer exists in V_MERCHAPI_EXT_DIFF_IDS_JSON.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_EXT_DIFF_IDS_JSON and apply only DIFF_IDS rows with a matching DIFF_TYPE row are published.

Mark cache rows deleted when the differentiator no longer exists in V_MERCHAPI_EXT_DIFF_IDS_JSON.

ICL (Integration Change Log) table: ICL_RMS_DIFF_IDS (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on DIFF_IDS.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_DIFF_ID

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_DIFF_IDS_ADHOC_PROCESS MERCHAPI_EXT_DIFF_IDS_ADHOC_JOB

Webhook configuration api name: foundation/diffid

Special handling

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/diffid

MerchIntegrations/services/foundation/diffid/{diffId}

Input Parameters for MerchIntegrations/services/foundation/diffId

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoStringOffset key (Diff ID)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-842 Input Parameter for “MerchIntegrations/services/foundation/diffid/{diffId}“

Parameter NameRequiredData TypeDescription
diffIdYesStringDifferentiator Id

Table 5-842 (Cont.) Input Parameter for “MerchIntegrations/services/foundation/diffid/ {diffId}“

Parameter NameRequiredData TypeDescription
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Input Parameters for MerchIntegrations/services/foundation/diffId/{diffId}

Parameter NameRequire
d
Data TypeDescription
differentiatorIdYesStringThis feld contains a unique identifer of the
differentiator
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Output – Diff ID

Table 5-843 PageResultsItemsMerchApiDiffId - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-844 MerchApiDiffId - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for
differentiator ID
details.
diffIdNoString (10)This feld contains a
unique identifer of
the differentiator.
diffDescriptionNoString (120)This feld contains the
description of the
differentiator.
diffTypeNoString (6)This feld contains a
code indicating the
type of differentiator,
for example C for
Color.
diffTypeDescriptionNoString (120)This feld contains the
description of the
differentiator type.
industryCodeNoString (10)This feld is used to
hold the unique code
used by industry
standards to identify
the differentiator.
industrySubgroupNoString (10)This feld is used to
hold a sub-grouping
code used by industry
standards to further
identify the
differentiator.
createDateTimeNodateTimeThis feld holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated (UTC).
cacheTimestampNodateTimeThis feld specifes the
date and time when
the diff ID record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-845 LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description href No String Service URL rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "diffId": "XYZ01", "diffDescription": "diffDesc", "diffType": "C", "diffTypeDescription": null, "industryCode": null, "industrySubgroup": null, "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z", "cacheTimestamp": "2001-12-31T23:59:59.000Z", "cacheCreateTimestamp": "2001-12-31T23:59:59.000Z" } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Elements in JSON Output
ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
ElementsDescription
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON Output
{
  "items": [
    {
      "action": "INSERT",
      "diffId": "1",
      "diffDescription": "Pot Size",
      "diffType": "POTSZ",
      "industryCode": null,
      "industrySubgroup": null,
      "createDateTime": "2005-02-01T00:00:00.000Z",
      "updateDateTime": "2005-02-01T00:00:00.000Z",
      "cacheTimestamp": "2021-08-31T07:55:38.434Z"
    }
  ],
  "hasMore": false,
  "limit": 1000,
  "count": 1,
  "links": [
    {
      "href": "https://<hostname>:<port>/rgbu-rex-rgbu-dev1-mfcs19-1/
MerchIntegrations/services/foundation/diffid?
limit=10000&since=1970-01-01T00:00:00.001Z&before=2022-03-25T09:17:01.879357+0
0:00",
      "rel": "self"
    }
  ]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_DIFF_IDSYesNoYesYes
MERCHAPI_EXT_DIFF_IDSYesYesYesYes
V_ MERCHAPI_EXT_DIFF_IDS _JSONYesNoNoNo
Get Differentiator Details for Provided Differentiator

Endpoints

MerchIntegrations/services/foundation/diffid
MerchIntegrations/services/foundation/diffid/{diffId}
Functional Area

Items - Item Foundation

Business Overview

This service can be used by external applications to get all or selected diff IDs and its details from Merchandising.

Service Type

GET

ReST URL
/MerchIntegrations/services/foundation/diffid?
since={since}&before={before}&offsetkey={offsetkey}&limit={limit}
/MerchIntegrations/services/foundation/diffId/{diffId}

Input Parameters for MerchIntegrations/services/foundation/diffId

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date.
Format:yyyy-mm-
dd"T"hh24:mi:ss.fftzh:tzm
beforeNoStringBefore Date
Format:yyyy-mm-
dd"T"hh24:mi:ss.fftzh:tzm
offsetkeyNoStringOffset Key. Valid Value is combination of
sort_order_seqand node ID.
limitNoBigDecimalPagination limit. Default Value is1000.

Input Parameters for MerchIntegrations/services/foundation/diffId/{diffId}

Parameter NameRequiredData TypeDescription
differentiatorIdYesStringThis feld contains a unique
identifer of the differentiator

Output - Diff ID

NameData TypeDescription
actionStringAction for Item details. Valid Values are INSERT,
UPDATE and DELETE.
diffIdStringThis feld contains a unique identifer of the
differentiator.
diffDescriptionStringThis feld contains the description of the
differentiator.
diffTypeStringThis feld contains a code indicating the type of
differentiator, for example C for Color.
industryCodeStringThis feld is used to hold the unique code used
by industry standards to identify the
differentiator
industrySubgroupStringThis feld is used to hold a sub-grouping code
used by industry standards to further identify
the differentiator
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record was
last updated.
cacheTimestampStringThis feld specifes date and time when the Diff
ID record was last maintained.

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element corresponds
to a row in the result set generated by the query.
hasMoreThis is dependent on limit value. If the total rows are more
than then limit defned then hasMore will be set to true
else false.
limitThis is used to limit the rows to control the paging of result
data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON output:
{
  "items": [
    {
      "action": "INSERT",
      "diffId": "1",
      "diffDescription": "Pot Size",
      "diffType": "POTSZ",
      "industryCode": null,
      "industrySubgroup": null,
      "createDateTime": "2005-02-01T00:00:00.000Z",
      "updateDateTime": "2005-02-01T00:00:00.000Z",
      "cacheTimestamp": "2021-08-31T07:55:38.434Z"
    }
  ],
  "hasMore": false,
  "limit": 1000,
  "count": 1,
  "links": [
    {
      "href": "https://<hostname>:<port>/rgbu-rex-rgbu-dev1-mfcs19-1/
MerchIntegrations/services/foundation/diffid?
limit=10000&since=1970-01-01T00:00:00.001Z&before=2022-03-25T09:17:01.879357+0
0:00",
      "rel": "self"
    }
  ]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_DIFF_IDSYesNoYesYes
MERCHAPI_EXT_DIFF_IDSYesYesYesYes
V_ MERCHAPI_EXT_DIFF_IDS _JSONYesNoNoNo
Get Differentiator Details for Single Differentiator

This section describes the Diff Detail service.

Business Overview

Diff Detail service allows user to retrieve Diff description for a selected Diff Id.

Service Type
Get
ReST URL
DiffIds/diffIdDetail?diffId={diffId}
Input Parameters
Parameter NameRequiredDescription
Diff_IdYesDiff ID
Output
RestDiffIdsRecRDO

Parameter Name Data Type industrySubgroup String diffGroupDesc String diffType String diffDesc String industryCode String diffGroupId String diffTypeDesc String

JSON Structure
    {
       "industrySubgroup": null,
        "diffGroupDesc": null,
        "diffType": null,
        "diffDesc": "null,
        "industryCode": null,
        "diffGroupId": null,
        "diffTypeDesc": null,
        "links": [],
        "hyperMediaContent": {
            "linkRDO": []
        }
  • }
Table Impact
TABLESELECTINSERTUPDATEDELETE
DIFF_IDSYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Differentiator Group Download Service

The following services are included in this functional area:

  • Get Differentiator Groups

  • Get Differentiators for Provided Group

Get Differentiator Groups

Endpoints

MerchIntegrations/services/foundation/diffgroup
MerchIntegrations/services/foundation/diffgroup/{diffGroupId}
Functional Area

Items – Item Foundation

Business Overview

This service publishes differentiator group master data to downstream consuming systems. The payload includes the differentiator group definition together with its member differentiator IDs and display sequence. This service only publishes differentiator groups that currently have at least one detail row.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: DIFF_GROUP_HEAD, DIFF_GROUP_DETAIL

Additional business tables: none

JSON cache table: MERCHAPI_EXT_DIFF_GROUP

JSON generation view: V_MERCHAPI_EXT_DIFF_GROUP_JSON

Builds the header from DIFF_GROUP_HEAD and the detail array from DIFF_GROUP_DETAIL.

The view uses an inner join between the header and aggregated detail rows, so only differentiator groups that currently have at least one detail row are published.

Detail-level changes from DIFF_GROUP_DETAIL are treated as updates to the parent differentiator group, so adds, updates, and deletes on detail rows republish the full group payload.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild apply the same publication rule used by V_MERCHAPI_EXT_DIFF_GROUP_JSON: groups publish only when DIFF_GROUP_HEAD has at least one matching DIFF_GROUP_DETAIL row.

Mark cache rows deleted when the diff group no longer exists in V_MERCHAPI_EXT_DIFF_GROUP_JSON.

ICL (Integration Change Log) table: ICL_RMS_DIFF_GROUP (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on DIFF_GROUP_HEAD, DIFF_GROUP_DETAIL.

DIFF_GROUP_DETAIL inserts, updates, and deletes are treated as updates to the parent diff group.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_DIFF_GROUP

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_DIFF_GROUP_ADHOC_PROCESS MERCHAPI_EXT_DIFF_GROUP_ADHOC_JOB

Webhook configuration api name: foundation/diffgroup

Special handling

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/diffgroup

MerchIntegrations/services/foundation/diffgroup/{diffGroupId}

Input Parameters for MerchIntegrations/services/foundation/diffgroup

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoStringOffset key (Diff Group
ID)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-846 Input Parameter for “MerchIntegrations/services/foundation/diffgroup/ {diffGroupId}“

Parameter NameRequiredData TypeDescription
diffGroupIdYesStringDifferentiator Group
Id
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Input Parameters for MerchIntegrations/services/foundation/diffgroup/{diffGroupId}

Parameter NameRequire
d
Data TypeDescription
diffGroupIdYesStringDifferentiator Group ID
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Output – Diff Group Head

Table 5-847 PageResultsItemsMerchApiDiffGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-848 MerchApiDiffGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for
differentiator group
details.
diffGroupIdNoString (10)This feld contains the
ID of the diff group
being added or
updated.
diffGroupDescriptionNoString (120)This feld contains the
description of the diff
group.

Table 5-848 (Cont.) MerchApiDiffGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diffTypeNoString (6)This feld contains the
code for the type of
diff contained in this
group, such as S for
size.
createDateTimeNodateTimeThis feld holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated (UTC).
detailsNoCollection of ObjectThis list holds
attributes for diff
group details.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the diff group record
was fetched into the
cache for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-849 DiffGroupDetail - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diffIdNoString (10)This feld contains the
ID of the diff that is
included in the group.
displaySequenceNoNumber(4,0)This feld contains the
display sequence for
the diff in the group.
createDateTimeNodateTimeThis feld holds the
record creation date
and time (UTC).

Table 5-850 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL

Table 5-850 (Cont.) LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "diffGroupId": "Y21 Colors", "diffGroupDescription": "Year 2021 Colors", "diffType": "C", "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z", "details": [ { "diffId": "BLACK", "displaySequence": 1, "createDateTime": "2001-12-31T23:59:59.000Z" } ], "cacheTimestamp": "2001-12-31T23:59:59.000Z", "cacheCreateTimestamp": "2001-12-31T23:59:59.000Z" } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Output – Diff Group Details
NameData TypeDescription
diffIdStringThis feld contains the ID of the diff that is
included in the group.
NameData TypeDescription
displaySequenceNumberThis feld contains the display sequence for the
diff in the group.
createDateTimeStringThis feld holds the record creation date.

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON Output
{
   "items": [
     {
       "action": "UPDATE",
       "diffGroupId": "BASIC CLRS",
       "diffGroupDescription": "Basic Color Pallet",
       "diffType": "C",
       "createDateTime": "2004-10-12T08:52:47.000Z",
       "updateDateTime": "2004-10-12T08:52:47.000Z",
       "details": [
         {
           "diffId": "BLACK",
           "displaySequence": null,
           "createDateTime": "2004-09-27T00:00:00.000Z"
         },
         {
           "diffId": "WHITE",
           "displaySequence": null,
           "createDateTime": "2005-01-29T00:00:00.000Z"
         }
       ],
       "cacheTimestamp": "2022-07-02T00:15:20.548Z"
     }
   ],
   "hasMore": true,
   "limit": 1,
   "count": 1,
   "links": [
     {
       "href": "http://<hostname>:<port>/MerchIntegrations/services/
foundation/diffgroup?
limit=1&since=1970-01-01T00:00:00.001Z&before=2022-07-18T23:39:19.734588+00:00
",
       "rel": "self"
     },
     {
       "href": "http://<hostname>:<port>/MerchIntegrations/services/
foundation/diffgroup?
offsetkey=BASIC+CLRS&limit=1&since=1970-01-01T00:00:00.001Z&before=2022-07-18T
23:39:19.734588+00:00",
       "rel": "next"
     }
   ]
 }
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_DIFF_GROUPYesNoYesYes
MERCHAPI_EXT_DIFF_GROUPYesYesYesYes
V_ MERCHAPI_EXT_DIFF_GROUP
_JSON
YesNoNoNo
Get Differentiators for Provided Group
Endpoints
MerchIntegrations/services/foundation/diffgroup
MerchIntegrations/services/foundation/diffgroup/{diffGroupId}
Functional Area
Items - Item Foundation
Business Overview

This service can be used by external applications to get all or selected diff groups and its details from Merchandising.

Service Type
GET
ReST URL
/MerchIntegrations/services/foundation/diffgroup?
since={since}&before={before}&offsetkey={offsetkey}&limit={limit}
/MerchIntegrations/services/foundation/diffgroup/{diffGroupId}

Input Parameters for MerchIntegrations/services/foundation/diffgroup

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date.
Format:yyyy-mm-
dd"T"hh24:mi:ss.fftzh:tzm
beforeNoStringBefore Date
Format:yyyy-mm-
dd"T"hh24:mi:ss.fftzh:tzm
offsetkeyNoStringOffset Key. Valid Value is combination of
sort_order_seqand node ID.
limitNoBigDecimalPagination limit. Default Value is1000.

Input Parameters for MerchIntegrations/services/foundation/diffgroup/{diffGroupId}

Parameter NameRequiredData TypeDescription
diffGroupIdYesStringDifferentiator Group ID

Output – Diff Group Head

NameData TypeDescription
actionStringAction for Item details. Valid Values are INSERT,
UPDATE and DELETE.
diffGroupIdStringThis feld contains the ID of the diff group being
added or updated.
diffGroupDescriptionStringThis feld contains the description of the diff
group.
diffTypeStringThis feld contains the code for the types of diffs
contained in this group, such as S for size.
createDateTimeStringThis feld holds the record creation date.
UpdateDateTimeStringThis feld holds the date when the record was
last updated.
detailsThis List holds list attributes for Diff Group
Details
cacheTimestampStringThis feld specifes date and time when Diff
Group record was last maintained.

Output – Diff Group Details

NameData TypeDescription
diffIdStringThis feld contains the ID of the diff that is
included in the group.
displaySequenceNumberThis feld contains the display sequence for the
diff in the group.
createDateTimeStringThis feld holds the record creation date.
Elements in JSON Output
ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element corresponds
to a row in the result set generated by the query.
hasMoreThis is dependent on limit value. If the total rows are more
than then limit defned then hasMore will be set to true
else false.
limitThis is used to limit the rows to control the paging of result
data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON output:
{
   "items": [
     {
       "action": "UPDATE",
       "diffGroupId": "BASIC CLRS",
       "diffGroupDescription": "Basic Color Pallet",
       "diffType": "C",
       "createDateTime": "2004-10-12T08:52:47.000Z",
       "updateDateTime": "2004-10-12T08:52:47.000Z",
       "details": [
         {
           "diffId": "BLACK",
           "displaySequence": null,
           "createDateTime": "2004-09-27T00:00:00.000Z"
         },
         {
           "diffId": "WHITE",
           "displaySequence": null,
           "createDateTime": "2005-01-29T00:00:00.000Z"
         }
       ],
       "cacheTimestamp": "2022-07-02T00:15:20.548Z"
     }
   ],
   "hasMore": true,
   "limit": 1,
   "count": 1,
   "links": [
     {
       "href": "http://<hostname>:<port>/MerchIntegrations/services/
foundation/diffgroup?
limit=1&since=1970-01-01T00:00:00.001Z&before=2022-07-18T23:39:19.734588+00:00
",
       "rel": "self"
     },
     {
       "href": "http://<hostname>:<port>/MerchIntegrations/services/
foundation/diffgroup?
offsetkey=BASIC+CLRS&limit=1&since=1970-01-01T00:00:00.001Z&before=2022-07-18T
23:39:19.734588+00:00",
       "rel": "next"
     }
   ]
 }
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_DIFF_GROUPYesNoYesYes
MERCHAPI_EXT_DIFF_GROUPYesYesYesYes
V_ MERCHAPI_EXT_DIFF_GROUP _JSONYesNoNoNo

Differentiator Group Upload Service

The following services are included in this functional area:

  • Create Differentiator Group Details

  • Create Differentiator Groups

  • Delete Differentiator Group Details

  • Delete Differentiator Groups

  • Update Differentiator Group Details

  • Update Differentiator Groups

Create Differentiator Group Details
Functional Area

Items - Item Foundation

Business Overview

This service is used to create Differentiator Group details for existing Diff Groups in Merchandising. Successful creation of a Differentiator Group detail depends on if all required fields are present in the message and field specific business validations.

Service Type

POST

ReST URL
MerchIntegrations/services/item/differentiator/group/details/create
Input Payload Details

Table 5-851 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection ofIt’s a referenced element. For detailed
Objectdescription, please refer referenced
element doc.

Table 5-852 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diffGroupIdYesString (10)A unique differentiator group
identifer.
detailsNoCollection of
Object
Description is not available.

Table 5-853 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diffIdYesString (10)The identifer of the differentiator
contained within the differentiator
group. This id must be unique within
the diff group. This must be
populated when a diff group is being
created since a diff group needs at
least one diff id. Value must be
predefned in the DIFF_IDS table.
displaySequenceNoNumber (4)The order in which the
differentiators within the
differentiator group are displayed on-
line.
Sample Input Message
{
  "items": [
    {
      "diffGroupId": "Y21 Colors",
      "details": [
        {
          "diffId": "BLACK",
          "displaySequence": 1
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}
Create Differentiator Groups

Functional Area

Items - Item Foundation
Business Overview

This service is used to create Differentiator Groups in Merchandising. Successful creation of a Differentiator Group depends on if all required fields are present in the message and field specific business validations.

Service Type

POST

ReST URL
MerchIntegrations/services/item/differentiator/groups/create

Input Payload Details

Table 5-854 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection ofReferences a collection of
Objectdifferentiator groups.

Table 5-855 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diffGroupIdYesString (10)A unique differentiator group
identifer.
diffTypeYesString (6)A differentiator type which is
predefned on the DIFF_TYPE table.
Each diff group is composed of one
diff type.
diffGroupDescriptionYesString (120)The description of the differentiator
group.
detailsNoCollection of
Object
References a collection of
differentiators within the
differentiator group.

Table 5-856 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diffIdYesString (10)The identifer of the differentiator
contained within the differentiator
group. This id must be unique within
the diff group. This must be
populated when a diff group is being
created since a diff group needs at
least one diff id. Value must be
predefned in the DIFF_IDS table.
displaySequenceNoNumber (4)The order in which the
differentiators within the
differentiator group are displayed on-
line.
Sample Input Message
{
  "items": [
    {
      "diffGroupId": "Y21 Colors",
      "diffType": "C",
      "diffGroupDescription": "Year 2021 Colors",
      "details": [
        {
          "diffId": "BLACK",
          "displaySequence": 1
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}
Delete Differentiator Group Details

Functional Area

Items - Item Foundation

Business Overview

This service is used to delete existing differentiator group details from Merchandising. For successful deletion, validation is performed to ensure that the provided Differentiator is associated with the Differentiator Group.

Service Type
DELETE
ReST URL
MerchIntegrations/services/item/differentiator/group/details/delete

Input Payload Details

Table 5-857 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection ofIt’s a referenced element. For detailed
Objectdescription, please refer referenced
element doc.

Table 5-858 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diffGroupIdYesString (10)A unique differentiator group
identifer.
detailsNoCollection of
Object
Description is not available.

Table 5-859 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diffIdYesString (10)The identifer of the differentiator
contained within the differentiator
group. This id must be unique within
the diff group. Value must be
predefned in the DIFF_IDS table.
Sample Input Message
{
  "items": [
    {
      "diffGroupId": "Y21 Colors",
      "details": [
        {
          "diffId": "BLACK"
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}
Delete Differentiator Groups

Functional Area

Items - Differentiators

Business Overview

This service is used to delete existing Differentiator Groups from Merchandising. For successful deletion, this API will validate that the Differentiator Group is valid and that it is not associated with any items or diff ranges.

Service Type

DELETE

ReST URL

MerchIntegrations/services/item/differentiator/groups/delete

Input Payload Details

Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection ofReferences a collection of
Objectdifferentiator groups.

Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diffGroupIdYesString (10)A unique differentiator group
identifer.
Sample Input Message
{
  "items": [
    {
      "diffGroupId": "Y21 Colors"
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors is present when the input payload or input parameters do not match the schema definition for this service. The element businessError is present when the payload passes the schema validation but an exception is caught while processing the business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}
Update Differentiator Group Details

Functional Area Items - Item Foundation

Business Overview

This service is used to update existing Differentiator Group details in Merchandising. Successful update of a Differentiator Group detail depends on if all required fields are present in the message. Only field that can be updated using this API is Display Sequence.

Service Type

PUT

ReST URL
MerchIntegrations/services/item/differentiator/group/details/update

Input Payload Details

Table 5-860 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection ofIt’s a referenced element. For detailed
Objectdescription, please refer referenced
element doc.

Table 5-861 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diffGroupIdYesString (10)A unique differentiator group
identifer.
itemsNoCollection of
Object
Description is not available.

Table 5-862 Items.Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diffIdYesString (10)The identifer of the differentiator
contained within the differentiator
group. This id must be unique within
the diff group. This must be
populated when a diff group is being
created since a diff group needs at
least one diff id. Value must be
predefned in the DIFF_IDS table.
displaySequenceNoNumber (4)The order in which the
differentiators within the
differentiator group are displayed on-
line.
Sample Input Message
{
  "items": [
    {
      "diffGroupId": "Y21 Colors",
      "items": [
        {
          "diffId": "BLACK",
          "displaySequence": 1
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}
Update Differentiator Groups

Functional Area

Items - Item Foundation

Business Overview

This service is used to update existing Differentiator Groups in Merchandising. When updating a differentiator group, the group ID must already be present in the Merchandising. For a successful update, all of the required header level information needs to be included in the update, similar to that for creating a new Differentiator Group. However, the diff details should not be included in a header only update. Fields that can be updated using this API include:

  • Differentiator type

  • Differentiator group description

Service Type

PUT

ReST URL

MerchIntegrations/services/item/differentiator/groups/update

Input Payload Details

Table 5-863 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection ofReferences a collection of
Objectdifferentiator groups.

Table 5-864 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diffGroupIdYesString (10)A unique differentiator group
identifer.
diffTypeYesString (6)A differentiator type which is
predefned on the DIFF_TYPE table.
Each diff group is composed of one
diff type.
diffGroupDescriptionYesString (120)The description of the differentiator
group.
Sample Input Message
{
  "items": [
    {
      "diffGroupId": "Y21 Colors",
      "diffType": "C",
      "diffGroupDescription": "Year 2021 Colors"
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Differentiator Type Download Service

The following services are included in this functional area:

  • Get Differentiator Type Details for Provided Type

  • Get Differentiator Types

Get Differentiator Type Details for Provided Type

Endpoints

MerchIntegrations/services/foundation/difftype
MerchIntegrations/services/foundation/difftype/{diffType}

Functional Area

Items – Item Foundation

Business Overview

This service publishes all differentiator type master data to downstream consuming systems. Diff Types are used to qualify the diff IDs included in other integration. Examples of diff types are size, color, flavor, etc.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: DIFF_TYPE

Additional business tables: none

JSON cache table: MERCHAPI_EXT_DIFF_TYPE

JSON generation view: V_MERCHAPI_EXT_DIFF_TYPE_JSON

The JSON view is intentionally simple: it reads directly from DIFF_TYPE and publishes the differentiator type code, description, and audit timestamps.

There is no additional functional filter in the view, so every row in DIFF_TYPE is eligible for publication.

Initial refresh reads the full V_MERCHAPI_EXT_DIFF_TYPE_JSON view, supports both truncate-and-load and rebuild modes, and marks cache rows deleted when a diff type no longer exists in the view.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_EXT_DIFF_TYPE_JSON and apply none; all DIFF_TYPE rows are eligible.

Mark cache rows deleted when the diff type no longer exists in V_MERCHAPI_EXT_DIFF_TYPE_JSON.

ICL (Integration Change Log) table: ICL_RMS_DIFF_TYPE (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on DIFF_TYPE.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_DIFF_TYPE

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_DIFF_TYPE_ADHOC_PROCESS MERCHAPI_EXT_DIFF_TYPE_ADHOC_JOB

Webhook configuration api name: foundation/difftype

Special handling

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/difftype

MerchIntegrations/services/foundation/difftype/{diffType}

Input Parameters for Merchintegrations/services/foundation/difftype

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoStringOffset key (Diff Type)
limitNoString (6)Pagination limit.
Default value is 1000.
Parameter NameRequiredData TypeDescription
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-865 Input Parameter for “MerchIntegrations/services/foundation/difftype/ {diffType}“

Parameter NameRequiredData TypeDescription
diffTypeYesStringDifferentiator Type
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Input Parameters for Merchintegrations/services/foundation/difftype/{diffType}

Parameter NameRequire
d
Data TypeDescription
diffTypeYesStringDifferentiator Type
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Output – Diff ID

Table 5-866 PageResultsItemsMerchApiDiffType - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records

Table 5-866 (Cont.) PageResultsItemsMerchApiDiffType - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-867 MerchApiDiffType - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for
differentiator type
details.
diffTypeNoString (6)This feld contains a
code indicating the
type of differentiator,
for example C for
Color.
diffTypeDescriptionNoString (120)This feld holds the
description of the diff
type (e.g., Color, Size,
and so on).
createDateTimeNodateTimeThis feld holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated (UTC).
cacheTimestampNodateTimeThis feld specifes the
date and time when
the record was fetched
into the cache for web
service publication
(UTC).

Table 5-867 (Cont.) MerchApiDiffType - Object. See list of elements for detail

Element NameRequiredData TypeDescription
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-868 LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description href No String Service URL rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "diffType": "C", "diffTypeDescription": null, "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z", "cacheTimestamp": "2001-12-31T23:59:59.000Z", "cacheCreateTimestamp": "2001-12-31T23:59:59.000Z" } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON Output
{
  "items": [
    {
      "action": "INSERT",
      "diffType": "POTSZ",
      "diffTypeDescription": "Pot Size",
      "createDateTime": "2020-11-23T00:00:00.000Z",
      "updateDateTime": "2021-07-13T00:00:00.000Z",
      "cacheTimestamp": "2021-08-31T07:51:43.095Z"
    }
  ],
  "hasMore": false,
  "limit": 10000,
  "count": 1,
  "links": [
    {
      "href": "https://rex.retail.us-phoenix-1.ocs.oc-test.com/rgbu-rex-rgbu-
dev1-mfcs19-1/MerchIntegrations/services/foundation/difftype?
limit=10000&since=1970-01-01T00:00:00.001Z&before=2022-03-25T09:27:21.798652+0
0:00",
      "rel": "self"
    }
  ]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_DIFF_TYPEYesNoYesYes
MERCHAPI_EXT_DIFF_TYPEYesYesYesYes
V_ MERCHAPI_EXT_DIFF_TYPE _JSONYesNoNoNo
Get Differentiator Types

Endpoints

MerchIntegrations/services/foundation/difftype
MerchIntegrations/services/foundation/difftype/{diffType}
Functional Area

Items – Item Foundation

Business Overview

This service can be used by external applications to get all or selected diff types and its details from Merchandising.

Service Type

GET

ReST URL
/MerchIntegrations/services/foundation/difftype?
since={since}&before={before}&offsetkey={offsetkey}&limit={limit}
/MerchIntegrations/services/foundation/difftype/{diffType}

Input Parameters for Merchintegrations/services/foundation/difftype

Parameter NameRequire
d
Data TypeDescription
sinceNoStringSince Date.
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
beforeNoStringBefore Date
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
offsetkeyNoStringOffset Key. Valid Value is combination of
sort_order_seq and node id.
limitNoBigDecima
l
Pagination limit. Default Value is 1000.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
Parameter NameRequire
d
Data TypeDescription
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input Parameters for Merchintegrations/services/foundation/difftype/{diffType}

Parameter NameRequire
d
Data TypeDescription
diffTypeYesStringDifferentiator Type
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Output – Diff ID

NameData TypeDescription
actionStringAction for Item details. Valid Values are INSERT,
UPDATE and DELETE.
diffTypestringThis feld contains a code indicating the type of
differentiator, for example C for Color.
diffTypeDescriptionstringThis feld holds the description of the diff type
(e.g., Color, Size, and so on).
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record was
last updated.
cacheTimestampStringThis feld specifes date and time when Diff
Type record was last maintained.

Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
ElementsDescription
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON output:
{
  "items": [
    {
      "action": "INSERT",
      "diffType": "POTSZ",
      "diffTypeDescription": "Pot Size",
      "createDateTime": "2020-11-23T00:00:00.000Z",
      "updateDateTime": "2021-07-13T00:00:00.000Z",
      "cacheTimestamp": "2021-08-31T07:51:43.095Z"
    }
  ],
  "hasMore": false,
  "limit": 10000,
  "count": 1,
  "links": [
    {
      "href": "https://rex.retail.us-phoenix-1.ocs.oc-test.com/rgbu-rex-rgbu-
dev1-mfcs19-1/MerchIntegrations/services/foundation/difftype?
limit=10000&since=1970-01-01T00:00:00.001Z&before=2022-03-25T09:27:21.798652+0
0:00",
      "rel": "self"
    }
  ]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_DIFF_TYPEYesNoYesYes
MERCHAPI_EXT_DIFF_TYPEYesYesYesYes
V_ MERCHAPI_EXT_DIFF_TYPE _JSONYesNoNoNo

Differentiator Upload Service

The following services are included in this functional area:

  • Create Differentiators

  • Delete Differentiators

  • Update Differentiators

Create Differentiators

Functional Area

Items - Item Foundation

Business Overview

This service is used to create Differentiators in Merchandising from an external system. For successful creation of a new differentiator, this service will first validate that all required fields are present in the payload. After that, the following business level validation on the input information are performed before creating the differentiator.

  • Verifies if the diff id does not contain white space or underscores

  • Verifies if diff id is not already present as a diff id or diff group id

  • Verifies if the diff type is a valid value in the DIFF_TYPE table

Service Type

POST

ReST URL

MerchIntegrations/services/item/differentiators/create

Input Payload Details

Table 5-869 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection ofReferences a collection of
Objectdifferentiators.

Table 5-870 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diffIdYesString (10)The unique identifer of the
differentiator.
diffTypeYesString (6)The identifer of the differentiator
type. This value must be predefned
on the DIFF_TYPE table.
diffDescriptionYesString (120)The description of the differentiator.
industryCodeNoString (10)The unique reference number which
represents all possible combinations
of sizes according to the National
Retail Federation.

Table 5-870 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
industrySubgroupNoString (10)The unique reference number to
represent a sub-grouping code used
by industry standards to further
identify the differentiator. For
example, in the US, the National
Retail Federation uses a subgroup for
colors (e.g., purple is defned as 500;
dark purple represents a range from
501 - 509, medium purple represents
a range from 510 - 519, bright purple
represents a range from 520 - 529,
etc.).
Sample Input Message
{
  "items": [
    {
      "diffId": "XYZ02",
      "diffType": "C",
      "diffDescription": "XYZ02 diffDesc",
      "industryCode": null,
      "industrySubgroup": null
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}
Delete Differentiators

Functional Area

Items - Differentiators

Business Overview

This service is used to delete existing Differentiator from Merchandising. For a successful deletion, this service first validates that all required fields are present in the message and if Diff id to be deleted exists in Merchandising.

Service Type

DELETE

ReST URL

MerchIntegrations/services/item/differentiators/delete
Input Payload Details

Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection ofReferences a collection of
Objectdifferentiators.

Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diffIdYesString (10)The unique identifer for the
differentiator.
Sample Input Message
{
  "items": [
    {
      "diffId": "XYZ02"
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors is present when the input payload or input parameters do not match the schema definition for this service. The element businessError is present when the payload passes the schema validation but an exception is caught while processing the business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}
Update Differentiators

Functional Area

Items - Item Foundation

Business Overview

This service is used to update existing Differentiator in Merchandising. For a successful update of an existing differentiator, this sevice will first validate that all required fields are present in the payload and business level validations are met. These business level validations are similar to those performed at the time of creation. Please refer to Create Differentiators service description for more details.

Service Type

PUT

ReST URL

MerchIntegrations/services/item/differentiators/update

Input Payload Details

Table 5-871 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection ofReferences a collection of
Objectdifferentiators.

Table 5-872 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
diffIdYesString (10)The unique identifer of the
differentiator.
diffDescriptionYesString (120)The description of the differentiator.
industryCodeNoString (10)The unique reference number which
represents all possible combinations
of sizes according to the National
Retail Federation.
industrySubgroupNoString (10)The unique reference number to
represent a sub-grouping code used
by industry standards to further
identify the differentiator. For
example, in the US, the National
Retail Federation uses a subgroup for
colors (e.g., purple is defned as 500;
dark purple represents a range from
501 - 509, medium purple represents
a range from 510 - 519, bright purple
represents a range from 520 - 529,
etc.).
Sample Input Message
{
  "items": [
    {
      "diffId": "XYZ02",
      "diffDescription": "XYZ02 diffDesc UPdate",
      "industryCode": null,
      "industrySubgroup": null
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Seasons and Phases Download Service

The following services are included in this functional area:

  • Get Seasons and Phases Service
Get Seasons and Phases Service

Endpoints

/MerchIntegrations/services/item/foundation/seasons

Functional Area

Items - Item Foundation

Business Overview

This service returns all seasons and all phases within a season. This service supports pagination, and the page size of each response is controlled by the query parameter ‘limit’. This service additionally supports two optional query parameters.

season - Include season id as a query parameter to restrict the response to a specific season.

status - This optional parameter allows filtering the response based on season start and/or end date. The comparison uses current server date. Following values are supported.

OLD - Retrieves seasons having end date less than system date

ACTIVE - Retrieves seasons having system date between start date (inclusive) and end date (inclusive)

FUTURE - Retrieves seasons having start date greater than system date

ACTIVE_FUTURE - Retrieves seasons having end date greater than or equal to system date

OLD_ACTIVE - Retrieves seasons where start date is less than or equal to system date

Service Type

GET

ReST URL

MerchIntegrations/services/item/foundation/seasons

Input Parameters for MerchIntegrations/services/foundation/seasons

Parameter NameRequiredData TypeDescription
limitNoString (6)Pagination limit.
Default value is 1000.
offsetkeyNoStringOffset key
seasonNoString (3)Season Id
statusNoStringStatus
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output – Season

Table 5-873 PageResultItemsSeason - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-874 Season - Object. See list of elements for detail

Element NameRequiredData TypeDescription
seasonNoNumberThis feld contains the
unique identifer for
season
descriptionNoStringThis feld contains the
description associated
with the season
startDateNodateThis feld contains the
starting date for the
season
endDateNodateThis feld contains the
ending date for the
season
phasesNoCollection of ObjectList of Phases
associated with the
season

Table 5-875 Phases - Object. See list of elements for detail

Element NameRequiredData TypeDescription
phaseNoNumberThis feld contains the
identifer for phase
that is associated to a
season. The
combination of season
id and phase id makes
a phase unique.
descriptionNoStringThis feld holds the
description of the
phase
startDateNodateThis feld contains the
starting date for the
phase
endDateNodateThis feld contains the
ending date for the
phase

Table 5-876 LinkItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL

Table 5-876 (Cont.) LinkItem - Object. See list of elements for detail

Element Name Required Data Type Description rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetches and contains the offsetkey which unique identifies the last record of this response. Sample Response Message { "items": [ { "season": 10, "description": "Spring 2023 Collections", "startDate": "2001-12-31", "endDate": "2001-12-31", "phases": [ { "phase": 2, "description": "Spring Break/Easter 2023", "startDate": "2001-12-31", "endDate": "2001-12-31" } ] } ], "hasMore": true, "limit": 1, "count": 1, "links": [ { "href": "https://<server>:<port>/Application/services/resources?limit=1000", "rel": "self" } ] }

Output – Phases

NameData TypeDescription
phaseNumberThis feld contains the identifer for phase that is
associated with a season. The combination of season
ID and phase ID makes a phase unique.
descriptionStringThis feld holds the description of the phase
startDateDateThis feld contains the starting date for the phase.
Formatyyyy-MM-dd
NameData TypeDescription
endDateDateThis feld contains the ending date for the phase.
Formatyyyy-MM-dd

Elements in JSON Output

Elements Description items The first element is named items and contains a number of child elements. Each child element corresponds to a row in the result set generated by the query. hasMore This is dependent on the limit value. If the total rows are more than then limit defined, then hasMore is set to true , otherwise it is false . limit This is used to limit the rows to control the paging of result data. Based on the limit , next and previous links are displayed. For example: If limit is set to 25 , internally it tries to fetch 26 rows. If 26th row exists, then 25 rows are returned along with a next link; otherwise, no links are added to the JSON response. links self : This contains a URI pointing to the current page. next : This contains a URI pointing to the next page of results. Example JSON Output { "items": [ { "season": 10, "description": "Spring 2023 Collections", "startDate": "2023-03-20", "endDate": "2023-06-21", "phases": [ { "phase": 2, "description": "Spring Break/Easter 2023", "startDate": "2023-04-03", "endDate": "2023-04-16" } ] } ], "hasMore": true, "limit": 1, "count": 1, "links": [ { "href": "https Server:port/MerchIntegrations/services/item/foundation/ seasons?limit=1", "rel": "self"

    },
    {
      "href": "https Server:port/MerchIntegrations/services/item/foundation/
seasons?offsetkey=10&limit=1",
      "rel": "next"
    }
  ]
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
SEASONSYesNoNoNo
PHASESYesNoNoNo

User Defined Attribute (UDA) Download Service

The following services are included in this functional area:

  • REST Endpoint for UDA details

  • REST Endpoint to Fetch UDA by UDA ID

REST Endpoint for UDA details

Endpoints

MerchIntegrations/services/foundation/uda
MerchIntegrations/services/foundation/uda/{udaId}
Functional Area

Items – Item Foundation

Business Overview

This service publishes user-defined attribute master data to downstream consuming systems. It publishes the UDA definition for date, free-form, and list-of-values UDAs, and list-of-values UDAs also include their configured value list. Functionally, there is no additional filter in the view, so every row in UDA is eligible for publication.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: UDA

Additional business tables: UDA_VALUES

JSON cache table: MERCHAPI_EXT_UDA

JSON generation view: V_MERCHAPI_EXT_UDA_JSON

The JSON view reads the UDA header from UDA and left-joins an aggregated UDA_VALUES array to populate udaListOfValues for list-of-values UDAs.

Functionally, there is no additional filter in the view, so every row in UDA is eligible for publication.

Date, free-form, and list-of-values UDAs are all included; only the LOV-style UDAs contribute rows to the udaListOfValues array.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild pull published rows from V_MERCHAPI_EXT_UDA_JSON. No additional filter criteria were identified beyond the cache-build logic.

Mark cache rows deleted when the UDA no longer exists in V_MERCHAPI_EXT_UDA_JSON.

ICL (Integration Change Log) table: ICL_RMS_UDA (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on UDA.

Queue logic distinguishes UDA versus UDA_VALUES changes through ICL_TABLE_NAME.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_UDA

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_UDA_ADHOC_PROCESS - > MERCHAPI_EXT_UDA_ADHOC_JOB

Webhook configuration api name: foundation/uda

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/uda

MerchIntegrations/services/foundation/uda/{udaId}

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoStringOffset key (UDA Id)
limitNoString (6)Pagination limit.
Default value is 1000.
Parameter NameRequiredData TypeDescription
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-877 Input Parameter for “MerchIntegrations/services/foundation/uda/{udaId}“

Parameter NameRequiredData TypeDescription
udaIdYesNumberUDA Id
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-878 PageResultsItemsMerchApiUda - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-879 MerchApiUda - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for UDA details.
udaIdNoNumber(5,0)This feld contains a
unique number
identifying the user-
defned attribute.
udaDescriptionNoString (120)This feld contains a
description of the
user-defned attribute.
displayTypeNoString (2)This feld contains the
display type, which is
how the UDA values
will be displayed to the
user. Valid values are
DT - Date, FF - Free
Form, and LV - List of
Values.
dataTypeNoString (12)This feld contains the
data type of any valid
values for the UDA.
Valid values are
Number,
Alphanumeric, and
Date.
dataLengthNoNumber(3,0)This feld contains the
data length of any
valid values for the
UDA.
singleValueIndNoString (1)This feld indicates
whether or not the
UDA should be
constrained to having
at most one value.
Valid values are Y and
N.
createDateTimeNodateTimeThis feld holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated (UTC).
udaListOfValuesNoCollection of ObjectThis list holds the UDA
list of values.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the UDA record was
fetched into the cache
for web service
publication (UTC).

Table 5-879 (Cont.) MerchApiUda - Object. See list of elements for detail

Element NameRequiredData TypeDescription
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-880 UdaValues - Object. See list of elements for detail

Element NameRequiredData TypeDescription
udaValueNoNumber(5,0)This feld contains a
unique number
identifying the user-
defned attribute value
for the UDA. A UDA
can have multiple
values.
udaValueDescriptionNoString (250)This feld contains a
description of the
user-defned attribute
value.
createDateTimeNodateTimeThis feld holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated (UTC).

Table 5-881 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"udaId": 201,
"udaDescription": null,
"displayType": "FF",
"dataType": null,
"dataLength": 1,
"singleValueInd": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"udaListOfValues": [
{
"udaValue": 1,
"udaValueDescription": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
MERCHAPI_EXT_UDAYesYesYesYes
V_MERCHAPI_EXT_UDA_JSONYesNoNoNo
ICL_RMS_UDAYesNoYesYes
REST Endpoint to Fetch UDA by UDA ID
Endpoints
MerchIntegrations/services/foundation/uda
MerchIntegrations/services/foundation/uda/{udaId}
Functional Area
Items – Item Foundation
Business Overview

This service can be used by external applications to get all or selected user defined attributes and its details from Merchandising.

Service Type

GET

ReST URL
/MerchIntegrations/services/foundation/uda?
offsetkey={offsetkey}&limit={limit}&since={since}&before={before}
/MerchIntegrations/services/foundation/uda/{udaId}

Input Parameters

Table 5-882 /MerchIntegrations/services/foundation/uda

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date.
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
beforeNoStringBefore Date.
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
offsetkeyNoStringOffset Key. Valid Value is a Uda Id.
limitNoBigDecimalPagination limit. Default Value is 1000.

Table 5-883 /MerchIntegrations/services/foundation/uda/{udaId}

Parameter NameRequiredData TypeDescription
udaIdYesNumberNumber identifying the User Defned
Attribute.

Output

NameData TypeDescription
actionStringAction for UDA details. Valid Values are
INSERT, UPDATE and DELETE.
udaIdNumberNumber identifying the User Defned
Attribute.
udaDescriptionStringDescription of the User Defned Attribute.
displayTypeStringThis feld contains the display type (how
the UDA values will be displayed to the
user) for the given UDA. The valid values
are DT-Date, FF - Free From, LV - List of
values.
NameData TypeDescription
dataTypeStringThis feld contains the data type of any
valid values for the UDA. Valid values are
Number, Alphanumeric and Date.
dataLengthNumberThis feld contains the data length of any
valid values for the UDA.
singleValueIndStringThis feld indicates whether or not the
UDA should be constrained to having at
most one value. Valid values are Y and N.
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record
was last updated.
udaListOfValuesThis list holds the UDA list of values.
cacheTimestampStringThis feld specifes date and time when
the UDA record was last maintained.

Table 5-884 udaListOfValues

NameData TypeDescription
actionStringAction for UDA Value details. Valid Values
are INSERT, UPDATE and DELETE.
udaValueNumberThis feld contains a unique number
identifying the User Defned Attribute
value for the UDA. A UDA can have
multiple values.
udaValueDescriptionStringDescription of the User Defned Attribute
Values.
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record
was last updated.

Table 5-885 Elements in JSON Output

ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element corresponds
to a row in the result set generated by the query.
hasMoreThis is dependent on limit value. If the total rows are more
than the limit defned, then hasMore will be set to true
else false.
limitThis is used to limit the rows to control the paging of result
data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists, then 25 rows are
returned along with a “next” link else no links would be
added to the JSON response.

Table 5-885 (Cont.) Elements in JSON Output

ElementsDescription
links“self”: This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.
Example JSON input:
{
  "items": [
    {
      "action": null,
      "udaId": 23,
      "udaDescription": "NEW_UDA_MATERIAL",
      "displayType": "LV",
      "dataType": "ALPHA",
      "dataLength": 250,
      "singleValueInd": "N",
      "createDateTime": "2021-10-04T08:40:53.000Z",
      "updateDateTime": "2021-10-04T08:40:53.000Z",
      "udaListOfValues": [
        {
          "udaValue": 3,
          "udaValueDescription": "AUTO_ADMIN_Nylon",
          "createDateTime": "2021-10-04T08:40:53.000Z",
          "updateDateTime": "2021-10-04T08:40:53.000Z"
        },
        {
          "udaValue": 2,
          "udaValueDescription": "AUTO_ADMIN_Silk_Cotton",
          "createDateTime": "2021-10-04T08:40:53.000Z",
          "updateDateTime": "2021-10-04T08:40:53.000Z"
        },
        {
          "udaValue": 1,
          "udaValueDescription": "AUTO_ADMIN_100_Synthetic",
          "createDateTime": "2021-10-04T08:40:53.000Z",
          "updateDateTime": "2021-10-04T08:40:53.000Z"
        }
      ],
      "cacheTimestamp": "2021-10-04T08:50:56.868Z"
    }
  ],
  "hasMore": false,
  "limit": 1,
  "count": 1,
  "links": null
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
MERCHAPI_EXT_UDAYesYesYesYes
V_MERCHAPI_EXT_UDA_JSONYesNoNoNo
ICL_RMS_UDAYesNoYesYes

Merchandise Hierarchy

The following services are included in this functional area:

  • Class Download Service

    • Get Class Details for Provided Class

    • Get Classes

  • Class Upload Service

    • Create Class

    • Delete Class

    • Update Class

  • Company Upload Service

    • Update Company
  • Department Download Service

    • Get Department Details

    • Get Department Details for Provided Department

    • Get Department Name

    • Get Department Tax Details

    • Get Departments

  • Department Upload Service

    • Create Department

    • Create Department Taxes

    • Create Department Up Charge

    • Delete Department

    • Delete Department Up Charge

    • Update Department

    • Update Department Taxes

    • Update Department Up Charge

  • Copy Department Up Charges

  • Division Download Service

    • Get Division Details for Provided Division
  • Get Divisions

  • • Division Upload Service – Create Division – Delete Division – Update Division

  • • Group Download Service – Get Group for Provided Group

  • – Get Groups

  • • Group Upload Service – Create Group

  • – Delete Group

  • – Update Group

  • • Merchandise Hierarchy Download Service – Get Merchandise Hierarchy

  • • Subclass Download Service – Get Subclass Details for Provided Subclass – Get Subclasses

  • • Subclass Upload Service – Create Subclass – Delete Subclass – Update Subclass

  • • Reclassification

    • Item Reclassification Download Service

    • Item Reclassification Upload Service

  • Merchandise Hierarchy Reclassification Upload Service

Copy Department Up Charges

Functional Area

Merchandise Hierarchy

Business Overview

This service allows the user to upload a request to copy the department up charges from one location to another for all departments, all departments in a group or a single department.

Valid Apply To types are defined under the Department Up Charge Apply To (DUAT) code type.

The Copy From and Copy To locations can be a store, virtual warehouse, importer, exporter, internal finisher, or external finisher.

The request to copy up charges will be staged and later processed through asynchronous processing.

Up charges will be copied based on the copy method. Copy methods are defined under the Department Up Charges Copy Methods (DUCM) code type and include:

Full Replace (FR)

For each department specified by the Apply To, this copy method deletes all shipping routes and associated up charges from the Copy To Location, and copies over all routes/up charges from the Copy From Location.

Copy Missing Shipping Routes (CM)

For each department specified by the Apply To, this copy method preserves existing shipping routes and up charges already defined for the Copy To Location, and copies missing shipping routes and associated up charges from the Copy From Location to the Copy To Location.

Merge Shipping Routes / Replace Up Charges (MRRU)

For each department specified by the Apply To, this copy method keeps existing routes on Copy To Location. Where the same route exists for the Copy From Location, the system deletes up charges from the Copy To Location and replaces then with up charges from the Copy From Location for that same route. Lastly, the process copies missing routes and associated up charges from the Copy From Location to the Copy To Location.

Merge Shipping Routes / Add Missing Up Charges (MRAU)

For each department specified by the Apply To, this copy method keeps existing routes defined for Copy To Location and keeps existing up charges, but adds missing charges from the Copy From Location for the same route. Then the process copies missing routes and associated up charges from the Copy From Location to the Copy To Location.

Responses:

Upon successfully staging the copy request, the service will return success status.

If there are validation errors the entire payload will be rejected, the service will return a failure status with the error message.

The service allows to stage a copy request which is duplicate at “copy from location, copy to location and department” level. In this case, the service will return success status with a warning message. The background processing, which processes the data from stage table and copies the up charges to the copy to location, will process the latest request and will ignore the previous duplicate requests.

Service Type

POST

ReST URL

MerchIntegrations/services/merchandiseHierarchy/department/upCharge/copy

Availability During Nightly Batch Cycle

This service will not be available when batches that affect costs are in-progress.

Input Payload Details

Copy - Object. See list of elements for detail

Items - Object. See list of elements for detail

CopyError - Object. See list of elements for detail

Sample Input Message
{
"collectionSize": 1,
"items": [
{
"fromLocationType": "S",
"copyFromLocation": 1521,
"whereCopyFrom": "E",
"toLocationType": "S",
"copyToLocation": 1111,
"copyMethod": "FR",
"applyToType": "D",
"applyTo": 1810
}
]
}
Response Code: 200 (Success)

CopyResponse - Object. See list of elements for detail

CopyUpchargesResponse - Object. See list of elements for detail

Sample Response Message
{
"copyUpchargesResponse": [
{
"fromLocationType": "S",
"copyFromLocation": 1521,
"whereCopyFrom": "E",
"toLocationType": "S",
"copyToLocation": 1111,
"copyMethod": "FR",
"applyToType": "D",
"applyTo": 1810,
"warning": "String"
}
]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

CopyError - Object. See list of elements for detail

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
],
"businessError": [
{
"fromLocationType": "S",
"copyFromLocation": 1521,
"whereCopyFrom": "E",
"toLocationType": "S",
"copyToLocation": 1111,
"copyMethod": "FR",
"applyToType": "D",
"applyTo": 1810,
"errorMessages": [
"String"
]
}
]
}

Class Download Service

The following services are included in this functional area:

  • Get Class Details for Provided Class

  • Get Classes

Get Class Details for Provided Class

Endpoints
MerchIntegrations/services/foundation/merchhier/division/{division}
MerchIntegrations/services/foundation/merchhier/division
MerchIntegrations/services/foundation/merchhier/groups/{group}
MerchIntegrations/services/foundation/merchhier/groups
MerchIntegrations/services/foundation/merchhier/deps/{dept}
MerchIntegrations/services/foundation/merchhier/deps
MerchIntegrations/services/foundation/merchhier/class/{uniqueClassId}
MerchIntegrations/services/foundation/merchhier/class
MerchIntegrations/services/foundation/merchhier/subclass/{uniqueSubclassId}
MerchIntegrations/services/foundation/merchhier/subclass
Functional Area

Merchandise Hierarchy

Business Overview

This service publishes merchandise hierarchy class data to downstream consuming systems. It is the class-level projection of the shared merchandise hierarchy cache and publishes the current class definition together with class name, department, class VAT indicator, inventorylayer identifier type, the unique class identifier, and class custom flex attributes.

The different merchandise level API shares the same underlying technical components. Refer to api documentation of ‘/foundation/merchhier/deps’ for additional details.

Table 5-886 Input Parameters

Parameter NameRequiredData TypeDescription
deptNoString (4)Department
classNoString (4)Class

Table 5-886 (Cont.) Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoString (10)Offset key (Hierarchy
ID)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-887 Input Parameter for “MerchIntegrations/services/foundation/merchhier/ class/{uniqueClassId}“

Parameter NameRequiredData TypeDescription
uniqueClassIdYesNumber
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Service Type

GET

ReST URLs for Division
/MerchIntegrations/services/foundation/merchhier/division?
since={since}&before={before}&offsetkey={offsetkey}&limit={limit}
/MerchIntegrations/services/foundation/merchhier/division/{division}
ReST URLs for Groups
/MerchIntegrations/services/foundation/merchhier/groups?
since={since}&before={before}&offsetkey={offsetkey}&limit={limit}
/MerchIntegrations/services/foundation/merchhier/groups/{group}
ReST URLs for Department
/MerchIntegrations/services/foundation/merchhier/deps?
since={since}&before={before}&offsetkey={offsetkey}&limit={limit}
/MerchIntegrations/services/foundation/merchhier/deps/{dept}
ReST URLs for Class

MerchIntegrations/services/foundation/merchhier/class

MerchIntegrations/services/foundation/merchhier/class/{uniqueClassId}

ReST URLs for Subclass
/MerchIntegrations/services/foundation/merchhier/subclass?
since={since}&before={before}&offsetkey={offsetkey}&limit={limit}&dept={dept}&
class={class}&subclass={subclass}
/MerchIntegrations/services/foundation/merchhier/subclass/{uniqueSubclassId}
Common Input parameters for URLs without path parameter
Parameter NameRequire
d
Data TypeDescription
sinceNoStringSince Date.
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
beforeNoStringBefore Date
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
offsetkeyNoStringOffset Key. Valid Value is combination of
sort_order_seq and node id.
Parameter NameRequire
d
Data TypeDescription
limitNoBigDecima
l
Pagination limit. Default Value is 1000.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input query parameter for /MerchIntegrations/services/foundation/merchhier/class

Parameter NameRequire
d
Data TypeDescription
deptNoNumberIf dept is provided, the service will return
classes which belong to this dept
classNoNumberIf class is provided, the service will return
class(es) matching the input class number.
To query a specifc class, value for both dept
and class should be provided.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input query parameter for /MerchIntegrations/services/foundation/merchhier/subclass

Parameter NameRequire
d
Data TypeDescription
deptNoNumberIf dept is provided, the service will return
subclasses which belong to this dept
classNoNumberIf class is provided, the service will return
subclass(es) whose parent class number
matches the input class number.
subclassNoNumberIf subclass is provided, the service will
return subclass(es) matching the input
subclass number. To query a specifc
subclass, value for dept and class and
subclass should be provided.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/division/{division}

Parameter NameRequire
d
Data TypeDescription
divisionYesNumberThis feld contains the number which
uniquely identifes the division of the
company
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/groups/{group}

Parameter NameRequire
d
Data TypeDescription
groupYesNumberThis feld contains the number which
uniquely identifes the group.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/deps/{dept}

Parameter NameRequire
d
Data TypeDescription
deptYesNumberThis feld contains the number which
uniquely identifes the department.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/class/ {uniqueClassId}

Parameter NameRequire
d
Data TypeDescription
uniqueClassIdYesNumberThis feld contains the number that
uniquely identifes the department/class
combination.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
Parameter NameRequire
d
Data TypeDescription
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/subclass/ {uniqueSubclassId}

Parameter NameRequire
d
Data TypeDescription
uniqueSubclassIdYesNumberThis feld contains the number that
uniquely identifes the department/class/
subclass combination.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Output - Division

Table 5-888 PageResultsItemsMerchApiClass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-889 MerchApiClass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for class details.

Table 5-889 (Cont.) MerchApiClass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
classNoNumber(4,0)This feld contains the
number which
uniquely identifes the
class within the
department.
classNameNoString (120)This feld contains the
name of the class
which, along with the
class number,
identifes the class.
classVatIndNoString (1)This feld indicates
whether retail is
displayed and held
with or without VAT
for items within the
class. Valid values are
Y and N.
deptNoNumber(4,0)This feld contains the
number of the
department of which
the class is a member.
uniqueClassIdNoNumber(10,0)This feld contains the
number that uniquely
identifes the
department/class
combination. This
column is populated
by the system and not
displayed to end users.
This will be used for
integration to
downstream systems
as many downstream
systems are unable to
accommodate the
composite dept/class
key in their hierarchy
and item structures.
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
customFlexAttributeNoCollection of ObjectThis list holds custom
fex attributes for the
class in merchandise
hierarchy.

Table 5-889 (Cont.) MerchApiClass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
inventoryLayerIdentif
erType
NoString (6)This feld holds the
inventory layer
identifer type at the
class level.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-890 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-891 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL

Table 5-891 (Cont.) LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "hierarchyLevel": null, "class": 1, "className": "className", "classVatInd": "Y", "dept": 3041, "uniqueClassId": 1, "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z", "customFlexAttribute": [ { "name": "attribute1", "value": "value1", "valueDate": "2001-12-31", "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z" } ], "inventoryLayerIdentifierType": null, "cacheTimestamp": "2001-12-31T23:59:59.000Z", "cacheCreateTimestamp": "2001-12-31T23:59:59.000Z" } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Output - Groups
NameData TypeDescription
actionStringAction for group details. Valid Values are
INSERT, UPDATE and DELETE.
hierarchylevelStringThis feld contains the Merchandising
Hierarchy Level.
groupNumberThis feld contains the number which uniquely
identifes the group.
groupNameStringThis feld contains the description which, along
with the group number, identifes the group.
BuyerNumberThis feld contains the number of the buyer
associated with the division.
merchantIdStringThis feld contains the number of the
merchandiser associated with the division.
divisionNumberThis feld contains the number which uniquely
identifes the division of the company.
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record was
last updated.
cacheTimestampStringThis feld specifes date and time when Merch
Hier record was last maintained.
Output - Department
NameData TypeDescription
actionStringAction for department details. Valid values are
INSERT, UPDATE and DELETE.
hierarchylevelStringThis feld contains the Merchandising
Hierarchy Level.
deptNumberThis feld contains the number which uniquely
identifes the department.
deptNameStringThis feld contains the description which
identifes the department.
buyerNumberThis feld contains the number of the buyer
associated with the division.
purchaseTypeNumberThis feld Contains a code which indicates
whether items in this department are, by
default, owned (normal) merchandise,
consignment, or concession.
totalMarketAmountNumberThis feld contains the total market amount that
is expected for the division. The feld can be
used for analytics or reporting.
merchantIdStringThis feld contains the number of the
merchandiser associated with the division.
groupNumberThis feld contains the number which uniquely
identifes the group.
budgetMarkupNumberThis feld contains the number of the group in
which the department exists.
NameData TypeDescription
proftCalcTypeNumberThis feld contains a number which indicates
whether proft will be calculated by cost or
retail, indicating the accounting method to be
used for the department.
markupCalcTypeStringThis feld contains the code which determines
how markup is calculated in this department.
otbCalcTypeStringThis feld contains the code which determines
how markup is calculated in this department.
budgetedIntakePercentNumberThis feld contains maximum average counter
will hold the maximum count of days with
acceptable data to include in an average for
items within the department.
deptVatIncludeIndStringThis feld is no longer used by Merchandising
and will always be defaulted to Y.
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record was
last updated.
customFlexAttributesThis list holds custom fex attributes for the
Department.
cacheTimestampStringThis feld specifes date and time when Merch
Hier record was last maintained.
inventoryLayerIdentiferTypeStringThis feld holds type of identifer that will be
used across systems to manage and identify
inventory layers at department level.

Output - Class

Table 5-892 PageResultsItemsMerchApiClass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-893 MerchApiClass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for class details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
classNoNumber(4,0)This feld contains the
number which
uniquely identifes the
class within the
department.
classNameNoString (120)This feld contains the
name of the class
which, along with the
class number,
identifes the class.
classVatIndNoString (1)This feld indicates
whether retail is
displayed and held
with or without VAT
for items within the
class. Valid values are
Y and N.
deptNoNumber(4,0)This feld contains the
number of the
department of which
the class is a member.
uniqueClassIdNoNumber(10,0)This feld contains the
number that uniquely
identifes the
department/class
combination. This
column is populated
by the system and not
displayed to end users.
This will be used for
integration to
downstream systems
as many downstream
systems are unable to
accommodate the
composite dept/class
key in their hierarchy
and item structures.
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.

Table 5-893 (Cont.) MerchApiClass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
customFlexAttributeNoCollection of ObjectThis list holds custom
fex attributes for the
class in merchandise
hierarchy.
inventoryLayerIdentif
erType
NoString (6)This feld holds the
inventory layer
identifer type at the
class level.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-894 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-895 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"hierarchyLevel": null,
"class": 1,
"className": "className",
"classVatInd": "Y",
"dept": 3041,
"uniqueClassId": 1,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"inventoryLayerIdentifierType": null,
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Output - Subclass
NameData TypeDescription
actionStringAction for subclass details. Valid values are
INSERT, UPDATE and DELETE.
hierarchylevelStringThis feld contains the Merchandising
Hierarchy Level.
subclassNumberThis feld Contains the number which uniquely
identifes the subclass within the department
and class.
subclassNameStringThis feld Contains the name of the subclass
which, along with the subclass number,
uniquely identifes the subclass.
classNumberContains the number which uniquely identifes
the class within the department.
deptNumberThis feld contains the number of the
department of which the class is a member.
uniqueSubclassIdNumberThis feld contains the number that uniquely
identifes the department/class/subclass
combination. This column is populated by the
system and not displayed to end users. This will
be used for integration to downstream systems
as many downstream systems are unable to
accommodate the composite dept/class/subclass
key in their hierarchy and item structures.
uniqueClassIdNumberThis feld contains the number that uniquely
identifes the department/class combination.
This column is populated by the system and not
displayed to end users. This will be used for
integration to downstream systems as many
downstream systems are unable to
accommodate the composite dept/class key in
their hierarchy and item structures.
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record was
last updated.
customFlexAttributesThis list holds custom fex attributes for the
Department.
cacheTimestampStringThis feld specifes date and time when Merch
Hier record was last maintained.

Output - Custom Flex Attribute

NameData TypeDescription
nameStringThis feld will hold the custom fex attribute
name.
valueStringThis feld will hold the numeric or string value
of the custom fex attribute.
valueDateStringThis feld will hold the date value of the custom
fex attribute.
createDateTimeStringThis feld will hold the date time when the
custom fex attribute was inserted.
NameData TypeDescription
updateDateTimeStringThis feld will hold the date time when the
custom fex attribute was last updated.
Elements in JSON Output
ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.

Example JSON Output

Division
{
  "items": [
    {
      "action": null,
      "hierarchyLevel": "DIVISION",
      "division": 1000,
      "divisionName": "Grocery",
      "buyer": 1002,
      "merchantId": "612",
      "totalMarketAmount": null,
      "company": 1,
      "createDateTime": "2020-08-18T08:45:53.000Z",
      "updateDateTime": "2021-07-23T11:34:21.000Z",
      "cacheTimestamp": "2021-08-19T06:55:11.469Z"
    }
  ],
  "hasMore": false,
  "limit": 1,
  "count": 1,
  "links": null
}
Groups

{ "items": [ { "action": null, "hierarchyLevel": "GROUP", "group": 1841, "groupName": "Smoke Group", "buyer": 1003, "merchantId": "845", "division": 3978, "createDateTime": "2020-08-24T17:06:58.000Z", "updateDateTime": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Department { "items": [ { "action": null, "hierarchyLevel": "DEPARTMENT", "dept": 3061, "deptName": "Cats", "buyer": 610, "purchaseType": 0, "totalMarketAmount": null, "merchantId": "840", "group": 306, "budgetedMarkup": 33.3333, "profitCalcType": 1, "markupCalcType": "C", "otbCalcType": "C", "budgetedIntakePercent": 25, "deptVatIncludeInd": "Y", "createDateTime": "2020-08-18T08:45:53.000Z", "updateDateTime": "2021-07-23T12:01:34.000Z", "customFlexAttribute": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null }

Class

{ "items": [ { "action": null, "hierarchyLevel": "CLASS", "class": 1, "className": "Childrens", "classVatInd": "Y", "dept": 3100, "uniqueClassId": 204, "createDateTime": "2020-08-18T08:45:55.000Z", "updateDateTime": null, "customFlexAttribute": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Subclass { "items": [ { "action": null, "hierarchyLevel": "SUBCLASS", "subclass": 2, "subclassName": "Reels", "class": 3, "dept": 3032, "uniqueSubclassId": 15, "uniqueClassId": 137, "createDateTime": "2020-08-18T08:45:55.000Z", "updateDateTime": "2021-07-23T12:12:17.000Z", "customFlexAttribute": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null }

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_DIVISIONYesNoYesYes
ICL_RMS_GROUPSYesNoYesYes
ICL_RMS_DEPSYesNoYesYes
ICL_RMS_CLASSYesNoYesYes
ICL_RMS_SUBCLASSYesNoYesYes
COMPHEADYesNoNoNo
CODE_DETAILYesNoNoNo
MERCHAPI_EXT_MERCHHIERYesYesYesYes
V_ MERCHAPI_EXT_MERCH_HIER
_JSON
YesNoNoNo
SYSTEM_OPTIONSYesNoNoNo
MERCHAPI_EXT_CLASS_CFAYesYesNoYes
MERCHAPI_EXT_DEPS_CFAYesYesNoYes
MERCHAPI_EXT_SUBCLASS_CFAYesYesNoYes
DEPS_CFA_EXTYesNoNoNo
CLASS_CFA_EXTYesNoNoNo
SUBCLASS_CFA_EXTYesNoNoNo

Get Classes

Endpoints
MerchIntegrations/services/foundation/merchhier/division/{division}
MerchIntegrations/services/foundation/merchhier/division
MerchIntegrations/services/foundation/merchhier/groups/{group}
MerchIntegrations/services/foundation/merchhier/groups
MerchIntegrations/services/foundation/merchhier/deps/{dept}
MerchIntegrations/services/foundation/merchhier/deps
MerchIntegrations/services/foundation/merchhier/class/{uniqueClassId}
MerchIntegrations/services/foundation/merchhier/class
MerchIntegrations/services/foundation/merchhier/subclass/{uniqueSubclassId}
MerchIntegrations/services/foundation/merchhier/subclass
Functional Area
Merchandise Hierarchy
Business Overview

This service can be used by external applications to get all or selected hierarchy levels and its details from Merchandising.

Service Type
GET
ReST URLs for Division
/MerchIntegrations/services/foundation/merchhier/division?
since={since}&before={before}&offsetkey={offsetkey}&limit={limit}
/MerchIntegrations/services/foundation/merchhier/division/{division}
ReST URLs for Groups
/MerchIntegrations/services/foundation/merchhier/groups?
since={since}&before={before}&offsetkey={offsetkey}&limit={limit}
/MerchIntegrations/services/foundation/merchhier/groups/{group}
ReST URLs for Department
/MerchIntegrations/services/foundation/merchhier/deps?
since={since}&before={before}&offsetkey={offsetkey}&limit={limit}
/MerchIntegrations/services/foundation/merchhier/deps/{dept}
ReST URLs for Class
/MerchIntegrations/services/foundation/merchhier/class?
since={since}&before={before}&offsetkey={offsetkey}&limit={limit}&dept={dept}&
class={class}
/MerchIntegrations/services/foundation/merchhier/class/{uniqueClassId}
ReST URLs for Subclass
/MerchIntegrations/services/foundation/merchhier/subclass?
since={since}&before={before}&offsetkey={offsetkey}&limit={limit}&dept={dept}&
class={class}&subclass={subclass}
/MerchIntegrations/services/foundation/merchhier/subclass/{uniqueSubclassId}
Common Input parameters for URLs without path parameter
Parameter NameRequire
d
Data TypeDescription
sinceNoStringSince Date.
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
beforeNoStringBefore Date
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
offsetkeyNoStringOffset Key. Valid Value is combination of
sort_order_seq and node id.
limitNoBigDecima
l
Pagination limit. Default Value is 1000.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
Parameter NameRequire
d
Data TypeDescription
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input query parameter for /MerchIntegrations/services/foundation/merchhier/class

Parameter NameRequire
d
Data TypeDescription
deptNoNumberIf dept is provided, the service will return
classes which belong to this dept
classNoNumberIf class is provided, the service will return
class(es) matching the input class number.
To query a specifc class, value for both dept
and class should be provided.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input query parameter for /MerchIntegrations/services/foundation/merchhier/subclass

Parameter NameRequire
d
Data TypeDescription
deptNoNumberIf dept is provided, the service will return
subclasses which belong to this dept
classNoNumberIf class is provided, the service will return
subclass(es) whose parent class number
matches the input class number.
subclassNoNumberIf subclass is provided, the service will
return subclass(es) matching the input
subclass number. To query a specifc
subclass, value for dept and class and
subclass should be provided.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/division/{division}

Parameter NameRequire
d
Data TypeDescription
divisionYesNumberThis feld contains the number which
uniquely identifes the division of the
company
Parameter NameRequire
d
Data TypeDescription
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/groups/{group}

Parameter NameRequire
d
Data TypeDescription
groupYesNumberThis feld contains the number which
uniquely identifes the group.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/deps/{dept}

Parameter NameRequire
d
Data TypeDescription
deptYesNumberThis feld contains the number which
uniquely identifes the department.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/class/ {uniqueClassId}

Parameter NameRequire
d
Data TypeDescription
uniqueClassIdYesNumberThis feld contains the number that
uniquely identifes the department/class
combination.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/subclass/ {uniqueSubclassId}

Parameter NameRequire
d
Data TypeDescription
uniqueSubclassIdYesNumberThis feld contains the number that
uniquely identifes the department/class/
subclass combination.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Output - Division

NameData TypeDescription
actionStringAction for division details. Valid Values are
INSERT, UPDATE and DELETE.
hierarchylevelStringThis feld contains the Merchandising
Hierarchy Level.
divisionNumberThis feld contains the number which uniquely
identifes the division of the company.
divisionNameStringThis feld contains the name which, along with
the division number, identifes the division of
the company.
buyerNumberThis feld contains the number of the buyer
associated with the division.
merchantIdStringThis feld contains the number of the
merchandiser associated with the division.
totalMarketAmountNumberThis feld contains the total market amount that
is expected for the division. The feld can be
used for analytics or reporting.
companyNumberThis feld contains the number which uniquely
identifes the Company.
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record was
last updated.
cacheTimestampStringThis feld specifes date and time when Merch
Hier record was last maintained.

Output - Groups

NameData TypeDescription
actionStringAction for group details. Valid Values are
INSERT, UPDATE and DELETE.
hierarchylevelStringThis feld contains the Merchandising
Hierarchy Level.
groupNumberThis feld contains the number which uniquely
identifes the group.
NameData TypeDescription
groupNameStringThis feld contains the description which, along
with the group number, identifes the group.
BuyerNumberThis feld contains the number of the buyer
associated with the division.
merchantIdStringThis feld contains the number of the
merchandiser associated with the division.
divisionNumberThis feld contains the number which uniquely
identifes the division of the company.
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record was
last updated.
cacheTimestampStringThis feld specifes date and time when Merch
Hier record was last maintained.

Output - Department

NameData TypeDescription
actionStringAction for department details. Valid values are
INSERT, UPDATE and DELETE.
hierarchylevelStringThis feld contains the Merchandising
Hierarchy Level.
deptNumberThis feld contains the number which uniquely
identifes the department.
deptNameStringThis feld contains the description which
identifes the department.
buyerNumberThis feld contains the number of the buyer
associated with the division.
purchaseTypeNumberThis feld Contains a code which indicates
whether items in this department are, by
default, owned (normal) merchandise,
consignment, or concession.
totalMarketAmountNumberThis feld contains the total market amount that
is expected for the division. The feld can be
used for analytics or reporting.
merchantIdStringThis feld contains the number of the
merchandiser associated with the division.
groupNumberThis feld contains the number which uniquely
identifes the group.
budgetMarkup
NumberThis feld contains the number of the group in
which the department exists.
proftCalcTypeNumberThis feld contains a number which indicates
whether proft will be calculated by cost or
retail, indicating the accounting method to be
used for the department.
markupCalcTypeStringThis feld contains the code which determines
how markup is calculated in this department.
otbCalcTypeStringThis feld contains the code which determines
how markup is calculated in this department.
NameData TypeDescription
budgetedIntakePercentNumberThis feld contains maximum average counter
will hold the maximum count of days with
acceptable data to include in an average for
items within the department.
deptVatIncludeIndStringThis feld is no longer used by Merchandising
and will always be defaulted to Y.
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record was
last updated.
customFlexAttributesThis list holds custom fex attributes for the
Department.
cacheTimestamp
StringThis feld specifes date and time when Merch
Hier record was last maintained.
inventoryLayerIdentiferTypeStringThis feld holds type of identifer that will be
used across systems to manage and identify
inventory layers at department level.

Output - Class

NameData TypeDescription
actionStringAction for class details. Valid values are INSERT,
UPDATE and DELETE.
hierarchylevelStringThis feld contains the Merchandising
Hierarchy Level.
classNumberContains the number which uniquely identifes
the class within the department.
classNameStringThis feld contains the name of the class which,
along with the class number, identifes the
class.
classVATIndStringThis feld is no longer used by Merchandising
and will always default to N.
deptNumberThis feld contains the number of the
department of which the class is a member.
uniqueClassIdNumberThis feld contains the number that uniquely
identifes the department/class combination.
This column is populated by the system and not
displayed to end users. This will be used for
integration to downstream systems as many
downstream systems are unable to
accommodate the composite dept/class key in
their hierarchy and item structures.
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record was
last updated.
customFlexAttributesThis list holds custom fex attributes for the
Department.
cacheTimestampStringThis feld specifes date and time when Merch
Hier record was last maintained.
inventoryLayerIdentiferTypeStringThis feld holds type of identifer that will be
used across systems to manage and identify
inventory layers at class level.
Output - Subclass
NameData TypeDescription
actionStringAction for subclass details. Valid values are
INSERT, UPDATE and DELETE.
hierarchylevelStringThis feld contains the Merchandising
Hierarchy Level.
subclassNumberThis feld Contains the number which uniquely
identifes the subclass within the department
and class.
subclassNameStringThis feld Contains the name of the subclass
which, along with the subclass number,
uniquely identifes the subclass.
classNumberContains the number which uniquely identifes
the class within the department.
deptNumberThis feld contains the number of the
department of which the class is a member.
uniqueSubclassIdNumberThis feld contains the number that uniquely
identifes the department/class/subclass
combination. This column is populated by the
system and not displayed to end users. This will
be used for integration to downstream systems
as many downstream systems are unable to
accommodate the composite dept/class/subclass
key in their hierarchy and item structures.
uniqueClassIdNumberThis feld contains the number that uniquely
identifes the department/class combination.
This column is populated by the system and not
displayed to end users. This will be used for
integration to downstream systems as many
downstream systems are unable to
accommodate the composite dept/class key in
their hierarchy and item structures.
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record was
last updated.
customFlexAttributesThis list holds custom fex attributes for the
Department.
cacheTimestampStringThis feld specifes date and time when Merch
Hier record was last maintained.

Output - Custom Flex Attribute

NameData TypeDescription
nameStringThis feld will hold the custom fex attribute
name.
valueStringThis feld will hold the numeric or string value
of the custom fex attribute.
valueDateStringThis feld will hold the date value of the custom
fex attribute.
createDateTimeStringThis feld will hold the date time when the
custom fex attribute was inserted.
NameData TypeDescription
updateDateTimeStringThis feld will hold the date time when the
custom fex attribute was last updated.
Elements in JSON Output
ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.

Example JSON Output

Division
{
  "items": [
    {
      "action": null,
      "hierarchyLevel": "DIVISION",
      "division": 1000,
      "divisionName": "Grocery",
      "buyer": 1002,
      "merchantId": "612",
      "totalMarketAmount": null,
      "company": 1,
      "createDateTime": "2020-08-18T08:45:53.000Z",
      "updateDateTime": "2021-07-23T11:34:21.000Z",
      "cacheTimestamp": "2021-08-19T06:55:11.469Z"
    }
  ],
  "hasMore": false,
  "limit": 1,
  "count": 1,
  "links": null
}
Groups

{ "items": [ { "action": null, "hierarchyLevel": "GROUP", "group": 1841, "groupName": "Smoke Group", "buyer": 1003, "merchantId": "845", "division": 3978, "createDateTime": "2020-08-24T17:06:58.000Z", "updateDateTime": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Department { "items": [ { "action": null, "hierarchyLevel": "DEPARTMENT", "dept": 3061, "deptName": "Cats", "buyer": 610, "purchaseType": 0, "totalMarketAmount": null, "merchantId": "840", "group": 306, "budgetedMarkup": 33.3333, "profitCalcType": 1, "markupCalcType": "C", "otbCalcType": "C", "budgetedIntakePercent": 25, "deptVatIncludeInd": "Y", "createDateTime": "2020-08-18T08:45:53.000Z", "updateDateTime": "2021-07-23T12:01:34.000Z", "customFlexAttribute": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null }

Class

{ "items": [ { "action": null, "hierarchyLevel": "CLASS", "class": 1, "className": "Childrens", "classVatInd": "Y", "dept": 3100, "uniqueClassId": 204, "createDateTime": "2020-08-18T08:45:55.000Z", "updateDateTime": null, "customFlexAttribute": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Subclass { "items": [ { "action": null, "hierarchyLevel": "SUBCLASS", "subclass": 2, "subclassName": "Reels", "class": 3, "dept": 3032, "uniqueSubclassId": 15, "uniqueClassId": 137, "createDateTime": "2020-08-18T08:45:55.000Z", "updateDateTime": "2021-07-23T12:12:17.000Z", "customFlexAttribute": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null }

Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_DIVISIONYesNoYesYes
ICL_RMS_GROUPSYesNoYesYes
ICL_RMS_DEPSYesNoYesYes
ICL_RMS_CLASSYesNoYesYes
ICL_RMS_SUBCLASSYesNoYesYes
COMPHEADYesNoNoNo
CODE_DETAILYesNoNoNo
MERCHAPI_EXT_MERCHHIERYesYesYesYes
V_ MERCHAPI_EXT_MERCH_HIER
_JSON
YesNoNoNo
SYSTEM_OPTIONSYesNoNoNo
MERCHAPI_EXT_CLASS_CFAYesYesNoYes
MERCHAPI_EXT_DEPS_CFAYesYesNoYes
MERCHAPI_EXT_SUBCLASS_CFAYesYesNoYes
DEPS_CFA_EXTYesNoNoNo
CLASS_CFA_EXTYesNoNoNo
SUBCLASS_CFA_EXTYesNoNoNo

Class Upload Service

The following services are included in this functional area:

  • Create Class

  • Delete Class

  • Update Class

Create Class

Functional Area

Merchandise Hierarchy

Business Overview

The merchandise hierarchy allows the retailer to create the relationships that are necessary to support the product management structure of a company. This hierarchy reflects a classification of merchandise into multi-level descriptive categorizations to facilitate the planning, tracking, reporting, and management of merchandise within the company. This service may be used to create the class element of the merchandise hierarchy based on an external system if Merchandising is not the system of record for merchandise hierarchy information.

The merchandise hierarchy must be created from the highest-level down. This means a department is associated with a group; a class is associated with a department; and a subclass

is associated with department/class combination because classes are not unique across departments.

When a new class is created, this service will first validate that all the required fields are present in the request payload. Business level validation on the input information will be performed, which checks whether the class already exists. If the class does not exist, the class is created. Active custom flex attributes that are associated with a class can also be created through this service.

Service Type

POST

ReST URL
MerchIntegrations/services/merchandiseHierarchy/class/create
Input Payload Details

Table 5-896 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
classYesNumber (4)The unique number of the class. This
feld cannot be modifed.
classNameYesString (120)The name of the class.
deptYesNumber (4)The number of the department which
contains the class. This value must be
predefned on the DEPS table. This
value cannot be modifed.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes. This collection is
treated as a single group and should
include all named fexible attributes
for the business entity. If any
confgured named attribute is
missing from the input collection, its
value will be set to NULL
invLayerIdentiferTypeNoString (6)This feld holds the type of identifer
that will be used across systems to
manage and identify inventory layers
at class level.

Table 5-897 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "class": 1,
  "className": "className",
  "dept": 3041,
  "customFlexAttribute": [
    {
      "name": "REVIEW_DATE",
      "value": null,
      "valueDate": "2001-12-31"
    }
  ],
  "invLayerIdentifierType": "L"
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Delete Class

Functional Area

Merchandise Hierarchy

Business Overview

This service may be used to delete the class element of the merchandise hierarchy based on an external system if Merchandising is not the system of record for merchandise hierarchy information. When a class is deleted, this service will add the class to a purging staging table for processing in the Daily Purge of Foundation Data process.

Note: Associated custom flex attributes are deleted when the class is deleted.

For more details on Class, see the Create Class service description.

Service Type

DELETE

ReST URL
MerchIntegrations/services/merchandiseHierarchy/class/delete
Input Payload Details

Table 5-898 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
classYesNumber (4)The unique number of the class.
deptYesNumber (4)The ID of the department which
which contains the class.
Sample Input Message
{
  "class": 1,
  "dept": 3041
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Update Class

Functional Area

Merchandise Hierarchy

Business Overview

This service may be used to update the class element of the merchandise hierarchy based on an external system if Merchandising is not the system of record for merchandise hierarchy information. When a class is updated, this service first validates that all the required fields are present in the request payload. Business level validation on the input information will be performed, which verifies if the class to be updated already exists. If class already exists, the class details are updated. Active custom flex attributes can also be updated for the class.

For more details on Class, see the Create Class service description.

Service Type

PUT

ReST URL
MerchIntegrations/services/merchandiseHierarchy/class/update
Input Payload Details

Table 5-899 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
classYesNumber (4)The unique number of the class. This
feld cannot be modifed.
classNameYesString (120)The name of the class.
deptYesNumber (4)The number of the department which
contains the class. This value must be
predefned on the DEPS table. This
value cannot be modifed.

Table 5-899 (Cont.) Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes. This collection is
treated as a single group and should
include all named fexible attributes
for the business entity. If any
confgured named attribute is
missing from the input collection, its
value will be set to NULL.
invLayerIdentiferTypeNoString (6)This feld holds the type of identifer
that will be used across systems to
manage and identify inventory layers
at class level.

Table 5-900 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "class": 1,
  "className": "className",
  "dept": 3041,
  "customFlexAttribute": [
    {
      "name": "REVIEW_DATE",
      "value": null,
      "valueDate": "2001-12-31"
    }
  ],
  "invLayerIdentifierType": "L"
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Company Upload Service

The following services are included in this functional area:

• Update Company

Update Company

Functional Area

Merchandise Hierarchy

Business Overview

This service may be used to update the company element of the merchandise hierarchy based on an external system if Merchandising is not the system of record for merchandise hierarchy information.

When a company is updated, this service will first validate that all the required fields are present in the request payload. Business level validation on the input information will be performed, which verifies if the company ID to be updated already exists. If the company already exists, the details of the company are updated.

Service Type

PUT

ReST URL
MerchIntegrations/services/merchandiseHierarchy/company/update
Input Payload Details

Table 5-901 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
companyYesNumber (4)The unique number which identifes
the company for which the system is
running. This value cannot be
modifed.
companyNameYesString (120)The name of the company for which
the system is running.
add1YesString (240)The frst line of the company
headquarters address.
add2NoString (240)The second line of the company
headquarters address.
add3NoString (240)The third line of the company
headquarters address.
cityYesString (120)The city the company headquarters.
stateNoString (3)The abbreviation of the state of the
company headquarters. This value
must be predefned on the STATE
table.
countryCodeYesString (3)The abbreviation of the country of
the company headquarters. This
value must be predefned on the
COUNTRY table.
postalCodeNoString (30)The postal zip code of the company
headquarters.
Sample Input Message
{
  "company": 1000,
  "companyName": "companyName",
  "add1": "101 First Street",
  "add2": "201 Second Street",
  "add3": "301 Third Street",
  "city": "Minneapolis",
  "state": "MN",
  "countryCode": "US",
  "postalCode": "55555-1234"
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Department Download Service

The following services are included in this functional area:

  • Get Department Details

  • Get Department Details for Provided Department

  • Get Department Name

  • Get Department Tax Details

  • Get Departments

Get Department Details

Business Overview

This service retrieves departments with ID or name matching search string.

Service Type
GET
ReST URL
/Common/departmentSearch?
searchString={searchString}&pageSize={pageSize}&pageNumber={pageNumber}
Input Parameters
Parameter NameRequiredDescriptionValid values
searchStringYessearch string for department Id or Name
Parameter NameRequiredDescriptionValid values
PageSizeNoMaximum number of records to retrieve
per page
PageNumberNoResult page to retrieve
Output

Table 5-902 MerchHierDeptRDO

Parameter NameData Type
departmentBigDecimal
departmentNameString

Table 5-903 PagedResultsRDO

Parameter NameData Type
totalRecordCountBigDecimal
Next Page URLString
Previous Page URLString
JSON Structure:
{
  “type": “paginationRDO",
  “totalRecordCount": 3512,
  “hyperMediaContent": {},
  “links" : [],
  “results": [{
     “departmentId": 3252,
     “departmentDescription": “some description"
  }]
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
V_DEPSYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Get Department Details for Provided Department

Endpoints
MerchIntegrations/services/foundation/merchhier/division/{division}
MerchIntegrations/services/foundation/merchhier/division
MerchIntegrations/services/foundation/merchhier/groups/{group}
MerchIntegrations/services/foundation/merchhier/groups
MerchIntegrations/services/foundation/merchhier/deps/{dept}
MerchIntegrations/services/foundation/merchhier/deps
MerchIntegrations/services/foundation/merchhier/class/{uniqueClassId}
MerchIntegrations/services/foundation/merchhier/class
MerchIntegrations/services/foundation/merchhier/subclass/{uniqueSubclassId}
MerchIntegrations/services/foundation/merchhier/subclass
Functional Area

Merchandise Hierarchy

Business Overview

This service publishes merchandise hierarchy department data to downstream consuming systems. It is the department-level projection of the shared merchandise hierarchy cache and publishes the current department definition together with department name, buyer, purchase type, group, budgeting and markup attributes, inventory-layer identifier type, and department custom flex attributes.

The merch hierarchy publication for the different hierarchy level (Division, Gruops, Department, Class and Subclass) shares the same underlying processing logic and each of the level have its own endpoint. The below technical details covers all the hierarchy levels.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on

how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: DIVISION, GROUPS, DEPS, CLASS, SUBCLASS

Additional business tables: COMPHEAD, DEPS_CFA_EXT, CLASS_CFA_EXT, SUBCLASS_CFA_EXT

JSON cache table: MERCHAPI_EXT_MERCHHIER

JSON generation view: not applicable; this service reads from the shared cache maintained by foundation/merchhier

This service is the department-level child merchapi of the shared foundation/merchhier family.

It publishes only department rows from the shared cache table MERCHAPI_EXT_MERCHHIER, so the source tables, delta drivers, refresh logic, CFA helper handling, batch job, and background-engine controls are the same as the parent merchapi family section above.

Functionally, it is the department-only projection of the current merchandise hierarchy.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_EXT_MERCHHIER_JSON and apply no status filter; publishes current hierarchy rows that exist in the source tables.

Rebuild marks cache rows deleted when the hierarchy key no longer exists in V_MERCHAPI_EXT_MERCHHIER_JSON.

ICL (Integration Change Log) table: ICL_RMS_DIVISION, ICL_RMS_GROUPS, ICL_RMS_DEPS, ICL_RMS_CLASS, ICL_RMS_SUBCLASS (ICL consumer name = MERCHAPI)

This service relies on the shared delta-processing flow used by foundation/merchhier.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_MERCHHIER

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_MERCH_HIER_ADHOC_PROCESS MERCHAPI_EXT_MERCH_HIER_ADHOC_JOB

Webhook configuration api name:

Division: foundation/merchhier/division

Groups: foundation/merchhier/groups

Department: foundation/merchhier/deps

Class: foundation/merchhier/class

Subclass: foundation/merchhier/subclass

Special handling

The parent merchapi configuration name for all the hierarchy level is ‘foundation/merchhier’.

Table 5-904 Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoString (10)Offset key (Hierarchy
ID)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-905 Input Parameter for “MerchIntegrations/services/foundation/merchhier/ deps/{dept}“

Parameter NameRequiredData TypeDescription
deptYesNumber
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)
Service Type

GET

ReST URLs for Division

MerchIntegrations/services/foundation/merchhier/division

MerchIntegrations/services/foundation/merchhier/division/{division}

ReST URLs for Groups

MerchIntegrations/services/foundation/merchhier/groups

MerchIntegrations/services/foundation/merchhier/groups/{group}

ReST URLs for Department

MerchIntegrations/services/foundation/merchhier/deps

MerchIntegrations/services/foundation/merchhier/deps/{dept}

ReST URLs for Class
/MerchIntegrations/services/foundation/merchhier/class?
since={since}&before={before}&offsetkey={offsetkey}&limit={limit}&dept={dept}&
class={class}
/MerchIntegrations/services/foundation/merchhier/class/{uniqueClassId}
ReST URLs for Subclass

MerchIntegrations/services/foundation/merchhier/subclass

MerchIntegrations/services/foundation/merchhier/subclass/{uniqueSubclassId}

Common Input parameters for URLs without path parameter
Parameter NameRequire
d
Data TypeDescription
sinceNoStringSince Date.
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
beforeNoStringBefore Date
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
offsetkeyNoStringOffset Key. Valid Value is combination of
sort_order_seq and node id.
limitNoBigDecima
l
Pagination limit. Default Value is 1000.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input query parameter for /MerchIntegrations/services/foundation/merchhier/class

Parameter NameRequire
d
Data TypeDescription
deptNoNumberIf dept is provided, the service will return
classes which belong to this dept
Parameter NameRequire
d
Data TypeDescription
classNoNumberIf class is provided, the service will return
class(es) matching the input class number.
To query a specifc class, value for both dept
and class should be provided.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input query parameter for /MerchIntegrations/services/foundation/merchhier/subclass

Parameter NameRequire
d
Data TypeDescription
deptNoNumberIf dept is provided, the service will return
subclasses which belong to this dept
classNoNumberIf class is provided, the service will return
subclass(es) whose parent class number
matches the input class number.
subclassNoNumberIf subclass is provided, the service will
return subclass(es) matching the input
subclass number. To query a specifc
subclass, value for dept and class and
subclass should be provided.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/division/{division}

Parameter NameRequire
d
Data TypeDescription
divisionYesNumberThis feld contains the number which
uniquely identifes the division of the
company
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/groups/{group}

Parameter NameRequire
d
Data TypeDescription
groupYesNumberThis feld contains the number which
uniquely identifes the group.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/deps/{dept}

Parameter NameRequire
d
Data TypeDescription
deptYesNumberThis feld contains the number which
uniquely identifes the department.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/class/ {uniqueClassId}

Parameter NameRequire
d
Data TypeDescription
uniqueClassIdYesNumberThis feld contains the number that
uniquely identifes the department/class
combination.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/subclass/ {uniqueSubclassId}

Parameter NameRequire
d
Data TypeDescription
uniqueSubclassIdYesNumberThis feld contains the number that
uniquely identifes the department/class/
subclass combination.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
Parameter NameRequire
d
Data TypeDescription
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)
Output - Division

Table 5-906 PageResultsItemsMerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-907 MerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for division
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
divisionNoNumber(4,0)This feld contains the
number which
uniquely identifes the
division of the
company.
divisionNameNoString (120)This feld contains the
name which, along
with the division
number, identifes the
division of the
company.

Table 5-907 (Cont.) MerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
division.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
division.
totalMarketAmountNoNumber(24,4)This feld contains the
total market amount
that is expected for the
division. The feld can
be used for analytics
or reporting.
companyNoNumber(4,0)This feld contains the
number which
uniquely identifes the
company.
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-908 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL

Table 5-908 (Cont.) LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "hierarchyLevel": null, "division": 1, "divisionName": "divName", "buyer": 1, "merchantId": 1, "totalMarketAmount": 3, "company": 1, "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z", "cacheTimestamp": "2001-12-31T23:59:59.000Z", "cacheCreateTimestamp": "2001-12-31T23:59:59.000Z" } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Output - Groups

Table 5-909 PageResultsItemsMerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records

Table 5-909 (Cont.) PageResultsItemsMerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-910 MerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for group
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
groupNoNumber(4,0)This feld contains the
number which
uniquely identifes the
group.
groupNameNoString (120)This feld contains the
description which,
along with the group
number, identifes the
group.
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
group.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
group.
divisionNoNumber(4,0)This feld contains the
number which
uniquely identifes the
division of the
company.

Table 5-910 (Cont.) MerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-911 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"hierarchyLevel": null,
"group": 1,
"groupName": "groupName",
"buyer": 1,
"merchantId": 1,
"division": 1,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Output - Department

Table 5-912 PageResultsItemsMerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-913 MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for department
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
deptNoNumber(4,0)This feld contains the
number which
uniquely identifes the
department.

Table 5-913 (Cont.) MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deptNameNoString (120)This feld contains the
description which
identifes the
department.
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
department.
purchaseTypeNoNumber(1,0)This feld contains a
code which indicates
whether items in this
department are, by
default, owned
(normal) merchandise,
consignment stock, or
concession stock.
totalMarketAmountNoNumber(24,4)This feld contains the
total market amount
that is expected for the
department. The feld
can be used for
analytics or reporting.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
department.
groupNoNumber(4,0)This feld contains the
number of the group
to which the
department belongs.
budgetedMarkupNoNumber(12,4)This feld contains the
budgeted markup
percentage.
proftCalcTypeNoNumber(1,0)This feld contains a
number which
indicates whether
proft will be
calculated by cost or
retail, indicating the
accounting method to
be used for the
department.
markupCalcTypeNoString (2)This feld contains the
code which
determines how
markup is calculated
in this department.

Table 5-913 (Cont.) MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
otbCalcTypeNoString (1)This feld contains the
code which
determines how OTB is
calculated in this
department.
budgetedIntakePercen
t
NoNumber(12,4)This feld contains the
budgeted intake
percentage.
deptVatIncludeIndNoString (1)This feld indicates the
default value for the
class VAT indicator.
When classes are
initially set up they
inherit this value.
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
customFlexAttributeNoCollection of ObjectThis list holds custom
fex attributes for the
department.
inventoryLayerIdentif
erType
NoString (6)This feld holds the
inventory layer
identifer type at the
department level.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-914 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.

Table 5-914 (Cont.) CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-915 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"hierarchyLevel": null,
"dept": 3041,
"deptName": "deptName",
"buyer": 1,
"purchaseType": 1,
"totalMarketAmount": 3,
"merchantId": 1,
"group": 1,
"budgetedMarkup": 3,
"profitCalcType": 1,
"markupCalcType": null,
"otbCalcType": null,
"budgetedIntakePercent": 3,
"deptVatIncludeInd": "Y",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"inventoryLayerIdentifierType": null,
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Output - Class
NameData TypeDescription
actionStringAction for class details. Valid values are INSERT,
UPDATE and DELETE.
hierarchylevelStringThis feld contains the Merchandising
Hierarchy Level.
classNumberContains the number which uniquely identifes
the class within the department.
classNameStringThis feld contains the name of the class which,
along with the class number, identifes the
class.
classVATIndStringThis feld is no longer used by Merchandising
and will always default to N.
deptNumberThis feld contains the number of the
department of which the class is a member.
uniqueClassIdNumberThis feld contains the number that uniquely
identifes the department/class combination.
This column is populated by the system and not
displayed to end users. This will be used for
integration to downstream systems as many
downstream systems are unable to
accommodate the composite dept/class key in
their hierarchy and item structures.
NameData TypeDescription
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record was
last updated.
customFlexAttributesThis list holds custom fex attributes for the
Department.
cacheTimestampStringThis feld specifes date and time when Merch
Hier record was last maintained.
inventoryLayerIdentiferTypeStringThis feld holds type of identifer that will be
used across systems to manage and identify
inventory layers at class level.

Output - Subclass

Table 5-916 PageResultsItemsMerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-917 MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for subclass
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
subclassNoNumber(4,0)This feld contains the
number which
uniquely identifes the
subclass within the
department and class.

Table 5-917 (Cont.) MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
subclassNameNoString (120)This feld contains the
name of the subclass
which, along with the
subclass number,
uniquely identifes the
subclass.
classNoNumber(4,0)This feld contains the
number which
uniquely identifes the
class within the
department.
deptNoNumber(4,0)This feld contains the
number of the
department of which
the subclass is a
member.
uniqueSubclassIdNoNumber(10,0)This feld contains the
number that uniquely
identifes the
department/class/
subclass combination.
This column is
populated by the
system and not
displayed to end users.
This will be used for
integration to
downstream systems
as many downstream
systems are unable to
accommodate the
composite dept/class/
subclass key in their
hierarchy and item
structures.
uniqueClassIdNoNumber(10,0)This feld contains the
number that uniquely
identifes the
department/class
combination. This
column is populated
by the system and not
displayed to end users.
This will be used for
integration to
downstream systems
as many downstream
systems are unable to
accommodate the
composite dept/class
key in their hierarchy
and item structures.

Table 5-917 (Cont.) MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
customFlexAttributeNoCollection of ObjectThis list holds custom
fex attributes for the
subclass in
merchandise
hierarchy.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-918 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-919 LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description href No String Service URL rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "hierarchyLevel": null, "subclass": 1, "subclassName": "subclassName", "class": 1, "dept": 3041, "uniqueSubclassId": 1, "uniqueClassId": 1, "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z", "customFlexAttribute": [ { "name": "attribute1", "value": "value1", "valueDate": "2001-12-31", "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z" } ], "cacheTimestamp": "2001-12-31T23:59:59.000Z", "cacheCreateTimestamp": "2001-12-31T23:59:59.000Z" } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Output – Custom Flex Attribute
NameData TypeDescription
nameStringThis feld will hold the custom fex attribute
name.
valueStringThis feld will hold the numeric or string value
of the custom fex attribute.
valueDateStringThis feld will hold the date value of the custom
fex attribute.
createDateTimeStringThis feld will hold the date time when the
custom fex attribute was inserted.
updateDateTimeStringThis feld will hold the date time when the
custom fex attribute was last updated.
Elements in JSON Output
ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.

Example JSON Output

Division
{
  "items": [
    {
      "action": null,
      "hierarchyLevel": "DIVISION",
      "division": 1000,
      "divisionName": "Grocery",
      "buyer": 1002,
      "merchantId": "612",
      "totalMarketAmount": null,
      "company": 1,
      "createDateTime": "2020-08-18T08:45:53.000Z",
      "updateDateTime": "2021-07-23T11:34:21.000Z",

"cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Groups { "items": [ { "action": null, "hierarchyLevel": "GROUP", "group": 1841, "groupName": "Smoke Group", "buyer": 1003, "merchantId": "845", "division": 3978, "createDateTime": "2020-08-24T17:06:58.000Z", "updateDateTime": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Department { "items": [ { "action": null, "hierarchyLevel": "DEPARTMENT", "dept": 3061, "deptName": "Cats", "buyer": 610, "purchaseType": 0, "totalMarketAmount": null, "merchantId": "840", "group": 306, "budgetedMarkup": 33.3333, "profitCalcType": 1, "markupCalcType": "C", "otbCalcType": "C", "budgetedIntakePercent": 25, "deptVatIncludeInd": "Y", "createDateTime": "2020-08-18T08:45:53.000Z", "updateDateTime": "2021-07-23T12:01:34.000Z", "customFlexAttribute": null,

"cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Class { "items": [ { "action": null, "hierarchyLevel": "CLASS", "class": 1, "className": "Childrens", "classVatInd": "Y", "dept": 3100, "uniqueClassId": 204, "createDateTime": "2020-08-18T08:45:55.000Z", "updateDateTime": null, "customFlexAttribute": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Subclass { "items": [ { "action": null, "hierarchyLevel": "SUBCLASS", "subclass": 2, "subclassName": "Reels", "class": 3, "dept": 3032, "uniqueSubclassId": 15, "uniqueClassId": 137, "createDateTime": "2020-08-18T08:45:55.000Z", "updateDateTime": "2021-07-23T12:12:17.000Z", "customFlexAttribute": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1,

  "links": null
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_DIVISIONYesNoYesYes
ICL_RMS_GROUPSYesNoYesYes
ICL_RMS_DEPSYesNoYesYes
ICL_RMS_CLASSYesNoYesYes
ICL_RMS_SUBCLASSYesNoYesYes
COMPHEADYesNoNoNo
CODE_DETAILYesNoNoNo
MERCHAPI_EXT_MERCHHIERYesYesYesYes
V_ MERCHAPI_EXT_MERCH_HIER
_JSON
YesNoNoNo
SYSTEM_OPTIONSYesNoNoNo
MERCHAPI_EXT_CLASS_CFAYesYesNoYes
MERCHAPI_EXT_DEPS_CFAYesYesNoYes
MERCHAPI_EXT_SUBCLASS_CFAYesYesNoYes
DEPS_CFA_EXTYesNoNoNo
CLASS_CFA_EXTYesNoNoNo
SUBCLASS_CFA_EXTYesNoNoNo

Get Department Name

Business Overview

This service retrieves departments’ name of input IDs.

Service Type
GET
ReST URL
/Common/departmentLoad?departments={departments}
Input Parameters
Parameter NameRequiredDescriptionValid values
departmentsYesComma separated values for
Departments
NA

Output

Table 5-920 MerchHierDeptRDO
Parameter NameData Type
departmentBigDecimal
departmentNameString
JSON Structure:
{
  "departmentId": 3252,
  "departmentDescription": "some description"
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
V_DEPSYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Get Department Tax Details

This section describes the VAT Detail service.

Business Overview

VAT Detail service allows user to retrieve VAT information for a selected department.

Service Type

Get

ReST URL

Vat/vatDetail?department={departmentNumber}

Input Parameters
Parameter NameRequiredDescription
DepartmentYesDepartment ID
Output
RestVatRecRDO
Parameter NameData Type
vatRegionBigDecimal
vatRegionNameString
vatRegionTypeString
vatTypeString
vatCodeString
vatCodeDescString
vatRateBigDecimal
JSON Structure:
{
"vatRegion": null,
"vatRegionName": null,
"vatRegionType": null,
"vatType": null,
"vatCode": null,
"vatCodeDesc": null,
"vatRate": null,
"links": [],
"hyperMediaContent": {
"linkRDO": []
}
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
V_DEPSYesNoNoNo
VAT_DEPSYesNoNoNo
VAT_REGIONYesNoNoNo
V_VAT_REGION_TLYesNoNoNo
V_VAT_CODES_TLYesNoNoNo
VAT_CODE_RATESYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Get Departments

Endpoints
MerchIntegrations/services/foundation/merchhier/division/{division}
MerchIntegrations/services/foundation/merchhier/division
MerchIntegrations/services/foundation/merchhier/groups/{group}
MerchIntegrations/services/foundation/merchhier/groups
MerchIntegrations/services/foundation/merchhier/deps/{dept}
MerchIntegrations/services/foundation/merchhier/deps
MerchIntegrations/services/foundation/merchhier/class/{uniqueClassId}
MerchIntegrations/services/foundation/merchhier/class
MerchIntegrations/services/foundation/merchhier/subclass/{uniqueSubclassId}
MerchIntegrations/services/foundation/merchhier/subclass
Functional Area
Merchandise Hierarchy
Business Overview

This service publishes merchandise hierarchy department data to downstream consuming systems. It is the department-level projection of the shared merchandise hierarchy cache and publishes the current department definition together with department name, buyer, purchase type, group, budgeting and markup attributes, inventory-layer identifier type, and department custom flex attributes.

The merch hierarchy publication for the different hierarchy level (Division, Gruops, Department, Class and Subclass) shares the same underlying processing logic and each of the level have its own endpoint. The below technical details covers all the hierarchy levels.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on

how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: DIVISION, GROUPS, DEPS, CLASS, SUBCLASS

Additional business tables: COMPHEAD, DEPS_CFA_EXT, CLASS_CFA_EXT, SUBCLASS_CFA_EXT

JSON cache table: MERCHAPI_EXT_MERCHHIER

JSON generation view: not applicable; this service reads from the shared cache maintained by foundation/merchhier

This service is the department-level child merchapi of the shared foundation/merchhier family.

It publishes only department rows from the shared cache table MERCHAPI_EXT_MERCHHIER, so the source tables, delta drivers, refresh logic, CFA helper handling, batch job, and background-engine controls are the same as the parent merchapi family section above.

Functionally, it is the department-only projection of the current merchandise hierarchy.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_EXT_MERCHHIER_JSON and apply no status filter; publishes current hierarchy rows that exist in the source tables.

Rebuild marks cache rows deleted when the hierarchy key no longer exists in V_MERCHAPI_EXT_MERCHHIER_JSON.

ICL (Integration Change Log) table: ICL_RMS_DIVISION, ICL_RMS_GROUPS, ICL_RMS_DEPS, ICL_RMS_CLASS, ICL_RMS_SUBCLASS (ICL consumer name = MERCHAPI)

This service relies on the shared delta-processing flow used by foundation/merchhier.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_MERCHHIER

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_MERCH_HIER_ADHOC_PROCESS MERCHAPI_EXT_MERCH_HIER_ADHOC_JOB

Webhook configuration api name:

Division: foundation/merchhier/division

Groups: foundation/merchhier/groups

Department: foundation/merchhier/deps

Class: foundation/merchhier/class

Subclass: foundation/merchhier/subclass

Special handling

The parent merchapi configuration name for all the hierarchy level is ‘foundation/merchhier’.

Table 5-921 Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoString (10)Offset key (Hierarchy
ID)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-922 Input Parameter for “MerchIntegrations/services/foundation/merchhier/ deps/{dept}“

Parameter NameRequiredData TypeDescription
deptYesNumber
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)
Service Type

GET

ReST URLs for Division

MerchIntegrations/services/foundation/merchhier/division

MerchIntegrations/services/foundation/merchhier/division/{division}

ReST URLs for Groups

MerchIntegrations/services/foundation/merchhier/groups

MerchIntegrations/services/foundation/merchhier/groups/{group}

ReST URLs for Department

MerchIntegrations/services/foundation/merchhier/deps

MerchIntegrations/services/foundation/merchhier/deps/{dept}

ReST URLs for Class
/MerchIntegrations/services/foundation/merchhier/class?
since={since}&before={before}&offsetkey={offsetkey}&limit={limit}&dept={dept}&
class={class}
/MerchIntegrations/services/foundation/merchhier/class/{uniqueClassId}
ReST URLs for Subclass

MerchIntegrations/services/foundation/merchhier/subclass

MerchIntegrations/services/foundation/merchhier/subclass/{uniqueSubclassId}

Common Input parameters for URLs without path parameter
Parameter NameRequire
d
Data TypeDescription
sinceNoStringSince Date.
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
beforeNoStringBefore Date
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
offsetkeyNoStringOffset Key. Valid Value is combination of
sort_order_seq and node id.
limitNoBigDecima
l
Pagination limit. Default Value is 1000.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input query parameter for /MerchIntegrations/services/foundation/merchhier/class

Parameter NameRequire
d
Data TypeDescription
deptNoNumberIf dept is provided, the service will return
classes which belong to this dept
Parameter NameRequire
d
Data TypeDescription
classNoNumberIf class is provided, the service will return
class(es) matching the input class number.
To query a specifc class, value for both dept
and class should be provided.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input query parameter for /MerchIntegrations/services/foundation/merchhier/subclass

Parameter NameRequire
d
Data TypeDescription
deptNoNumberIf dept is provided, the service will return
subclasses which belong to this dept
classNoNumberIf class is provided, the service will return
subclass(es) whose parent class number
matches the input class number.
subclassNoNumberIf subclass is provided, the service will
return subclass(es) matching the input
subclass number. To query a specifc
subclass, value for dept and class and
subclass should be provided.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/division/{division}

Parameter NameRequire
d
Data TypeDescription
divisionYesNumberThis feld contains the number which
uniquely identifes the division of the
company
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/groups/{group}

Parameter NameRequire
d
Data TypeDescription
groupYesNumberThis feld contains the number which
uniquely identifes the group.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/deps/{dept}

Parameter NameRequire
d
Data TypeDescription
deptYesNumberThis feld contains the number which
uniquely identifes the department.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/class/ {uniqueClassId}

Parameter NameRequire
d
Data TypeDescription
uniqueClassIdYesNumberThis feld contains the number that
uniquely identifes the department/class
combination.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/subclass/ {uniqueSubclassId}

Parameter NameRequire
d
Data TypeDescription
uniqueSubclassIdYesNumberThis feld contains the number that
uniquely identifes the department/class/
subclass combination.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
Parameter NameRequire
d
Data TypeDescription
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)
Output - Division

Table 5-923 PageResultsItemsMerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-924 MerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for division
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
divisionNoNumber(4,0)This feld contains the
number which
uniquely identifes the
division of the
company.
divisionNameNoString (120)This feld contains the
name which, along
with the division
number, identifes the
division of the
company.

Table 5-924 (Cont.) MerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
division.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
division.
totalMarketAmountNoNumber(24,4)This feld contains the
total market amount
that is expected for the
division. The feld can
be used for analytics
or reporting.
companyNoNumber(4,0)This feld contains the
number which
uniquely identifes the
company.
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-925 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL

Table 5-925 (Cont.) LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "hierarchyLevel": null, "division": 1, "divisionName": "divName", "buyer": 1, "merchantId": 1, "totalMarketAmount": 3, "company": 1, "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z", "cacheTimestamp": "2001-12-31T23:59:59.000Z", "cacheCreateTimestamp": "2001-12-31T23:59:59.000Z" } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Output - Groups

Table 5-926 PageResultsItemsMerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records

Table 5-926 (Cont.) PageResultsItemsMerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-927 MerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for group
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
groupNoNumber(4,0)This feld contains the
number which
uniquely identifes the
group.
groupNameNoString (120)This feld contains the
description which,
along with the group
number, identifes the
group.
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
group.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
group.
divisionNoNumber(4,0)This feld contains the
number which
uniquely identifes the
division of the
company.

Table 5-927 (Cont.) MerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-928 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"hierarchyLevel": null,
"group": 1,
"groupName": "groupName",
"buyer": 1,
"merchantId": 1,
"division": 1,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Output - Department

Table 5-929 PageResultsItemsMerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-930 MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for department
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
deptNoNumber(4,0)This feld contains the
number which
uniquely identifes the
department.

Table 5-930 (Cont.) MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deptNameNoString (120)This feld contains the
description which
identifes the
department.
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
department.
purchaseTypeNoNumber(1,0)This feld contains a
code which indicates
whether items in this
department are, by
default, owned
(normal) merchandise,
consignment stock, or
concession stock.
totalMarketAmountNoNumber(24,4)This feld contains the
total market amount
that is expected for the
department. The feld
can be used for
analytics or reporting.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
department.
groupNoNumber(4,0)This feld contains the
number of the group
to which the
department belongs.
budgetedMarkupNoNumber(12,4)This feld contains the
budgeted markup
percentage.
proftCalcTypeNoNumber(1,0)This feld contains a
number which
indicates whether
proft will be
calculated by cost or
retail, indicating the
accounting method to
be used for the
department.
markupCalcTypeNoString (2)This feld contains the
code which
determines how
markup is calculated
in this department.

Table 5-930 (Cont.) MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
otbCalcTypeNoString (1)This feld contains the
code which
determines how OTB is
calculated in this
department.
budgetedIntakePercen
t
NoNumber(12,4)This feld contains the
budgeted intake
percentage.
deptVatIncludeIndNoString (1)This feld indicates the
default value for the
class VAT indicator.
When classes are
initially set up they
inherit this value.
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
customFlexAttributeNoCollection of ObjectThis list holds custom
fex attributes for the
department.
inventoryLayerIdentif
erType
NoString (6)This feld holds the
inventory layer
identifer type at the
department level.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-931 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.

Table 5-931 (Cont.) CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-932 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"hierarchyLevel": null,
"dept": 3041,
"deptName": "deptName",
"buyer": 1,
"purchaseType": 1,
"totalMarketAmount": 3,
"merchantId": 1,
"group": 1,
"budgetedMarkup": 3,
"profitCalcType": 1,
"markupCalcType": null,
"otbCalcType": null,
"budgetedIntakePercent": 3,
"deptVatIncludeInd": "Y",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"inventoryLayerIdentifierType": null,
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Output - Class
NameData TypeDescription
actionStringAction for class details. Valid values are INSERT,
UPDATE and DELETE.
hierarchylevelStringThis feld contains the Merchandising
Hierarchy Level.
classNumberContains the number which uniquely identifes
the class within the department.
classNameStringThis feld contains the name of the class which,
along with the class number, identifes the
class.
classVATIndStringThis feld is no longer used by Merchandising
and will always default to N.
deptNumberThis feld contains the number of the
department of which the class is a member.
uniqueClassIdNumberThis feld contains the number that uniquely
identifes the department/class combination.
This column is populated by the system and not
displayed to end users. This will be used for
integration to downstream systems as many
downstream systems are unable to
accommodate the composite dept/class key in
their hierarchy and item structures.
NameData TypeDescription
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record was
last updated.
customFlexAttributesThis list holds custom fex attributes for the
Department.
cacheTimestampStringThis feld specifes date and time when Merch
Hier record was last maintained.
inventoryLayerIdentiferTypeStringThis feld holds type of identifer that will be
used across systems to manage and identify
inventory layers at class level.

Output - Subclass

Table 5-933 PageResultsItemsMerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-934 MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for subclass
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
subclassNoNumber(4,0)This feld contains the
number which
uniquely identifes the
subclass within the
department and class.

Table 5-934 (Cont.) MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
subclassNameNoString (120)This feld contains the
name of the subclass
which, along with the
subclass number,
uniquely identifes the
subclass.
classNoNumber(4,0)This feld contains the
number which
uniquely identifes the
class within the
department.
deptNoNumber(4,0)This feld contains the
number of the
department of which
the subclass is a
member.
uniqueSubclassIdNoNumber(10,0)This feld contains the
number that uniquely
identifes the
department/class/
subclass combination.
This column is
populated by the
system and not
displayed to end users.
This will be used for
integration to
downstream systems
as many downstream
systems are unable to
accommodate the
composite dept/class/
subclass key in their
hierarchy and item
structures.
uniqueClassIdNoNumber(10,0)This feld contains the
number that uniquely
identifes the
department/class
combination. This
column is populated
by the system and not
displayed to end users.
This will be used for
integration to
downstream systems
as many downstream
systems are unable to
accommodate the
composite dept/class
key in their hierarchy
and item structures.

Table 5-934 (Cont.) MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
customFlexAttributeNoCollection of ObjectThis list holds custom
fex attributes for the
subclass in
merchandise
hierarchy.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-935 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-936 LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description href No String Service URL rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "hierarchyLevel": null, "subclass": 1, "subclassName": "subclassName", "class": 1, "dept": 3041, "uniqueSubclassId": 1, "uniqueClassId": 1, "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z", "customFlexAttribute": [ { "name": "attribute1", "value": "value1", "valueDate": "2001-12-31", "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z" } ], "cacheTimestamp": "2001-12-31T23:59:59.000Z", "cacheCreateTimestamp": "2001-12-31T23:59:59.000Z" } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Output – Custom Flex Attribute
NameData TypeDescription
nameStringThis feld will hold the custom fex attribute
name.
valueStringThis feld will hold the numeric or string value
of the custom fex attribute.
valueDateStringThis feld will hold the date value of the custom
fex attribute.
createDateTimeStringThis feld will hold the date time when the
custom fex attribute was inserted.
updateDateTimeStringThis feld will hold the date time when the
custom fex attribute was last updated.
Elements in JSON Output
ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.

Example JSON Output

Division
{
  "items": [
    {
      "action": null,
      "hierarchyLevel": "DIVISION",
      "division": 1000,
      "divisionName": "Grocery",
      "buyer": 1002,
      "merchantId": "612",
      "totalMarketAmount": null,
      "company": 1,
      "createDateTime": "2020-08-18T08:45:53.000Z",
      "updateDateTime": "2021-07-23T11:34:21.000Z",

"cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Groups { "items": [ { "action": null, "hierarchyLevel": "GROUP", "group": 1841, "groupName": "Smoke Group", "buyer": 1003, "merchantId": "845", "division": 3978, "createDateTime": "2020-08-24T17:06:58.000Z", "updateDateTime": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Department { "items": [ { "action": null, "hierarchyLevel": "DEPARTMENT", "dept": 3061, "deptName": "Cats", "buyer": 610, "purchaseType": 0, "totalMarketAmount": null, "merchantId": "840", "group": 306, "budgetedMarkup": 33.3333, "profitCalcType": 1, "markupCalcType": "C", "otbCalcType": "C", "budgetedIntakePercent": 25, "deptVatIncludeInd": "Y", "createDateTime": "2020-08-18T08:45:53.000Z", "updateDateTime": "2021-07-23T12:01:34.000Z", "customFlexAttribute": null,

"cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Class { "items": [ { "action": null, "hierarchyLevel": "CLASS", "class": 1, "className": "Childrens", "classVatInd": "Y", "dept": 3100, "uniqueClassId": 204, "createDateTime": "2020-08-18T08:45:55.000Z", "updateDateTime": null, "customFlexAttribute": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Subclass { "items": [ { "action": null, "hierarchyLevel": "SUBCLASS", "subclass": 2, "subclassName": "Reels", "class": 3, "dept": 3032, "uniqueSubclassId": 15, "uniqueClassId": 137, "createDateTime": "2020-08-18T08:45:55.000Z", "updateDateTime": "2021-07-23T12:12:17.000Z", "customFlexAttribute": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1,

  "links": null
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_DIVISIONYesNoYesYes
ICL_RMS_GROUPSYesNoYesYes
ICL_RMS_DEPSYesNoYesYes
ICL_RMS_CLASSYesNoYesYes
ICL_RMS_SUBCLASSYesNoYesYes
COMPHEADYesNoNoNo
CODE_DETAILYesNoNoNo
MERCHAPI_EXT_MERCHHIERYesYesYesYes
V_ MERCHAPI_EXT_MERCH_HIER
_JSON
YesNoNoNo
SYSTEM_OPTIONSYesNoNoNo
MERCHAPI_EXT_CLASS_CFAYesYesNoYes
MERCHAPI_EXT_DEPS_CFAYesYesNoYes
MERCHAPI_EXT_SUBCLASS_CFAYesYesNoYes
DEPS_CFA_EXTYesNoNoNo
CLASS_CFA_EXTYesNoNoNo
SUBCLASS_CFA_EXTYesNoNoNo

Department Upload Service

The following services are included in this functional area:

  • Create Department

  • Create Department Taxes

  • Create Department Up Charge

  • Delete Department

  • Delete Department Up Charge

  • Update Department

  • Update Department Taxes

  • Update Department Up Charge

Create Department

Functional Area
Merchandise Hierarchy
Business Overview

The merchandise hierarchy allows the retailer to create the relationships that are necessary to support the product management structure of a company. This hierarchy reflects a classification of merchandise into multi-level descriptive categorizations to facilitate the planning, tracking, reporting, and management of merchandise within the company. This service may be used to create the department element of the merchandise hierarchy based on an external system if Merchandising is not the system of record for merchandise hierarchy information,

When a new department is created, this service will first validate that all required fields are present in the request payload. Business level validation on the input information will be performed to:

  • Verify if the department is not already present.

  • Verify if total market amount is received. If received then it should be at least 1000.

  • Verify the child details, if included, have their required fields present. The child detail contains the VAT and up charge details for a department.

If all the validations are completed successfully, then the department data is created. Active custom flex attributes that are associated with a department can also be created through this service.

Service Type
POST
ReST URL
MerchIntegrations/services/merchandiseHierarchy/department/create
Input Payload Details

Table 5-937 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deptYesNumber (4)The number which uniquely
identifes the department. This value
cannot be modifed.
deptNameYesString (120)The name of the department.
buyerNoNumber (4)The number of the buyer associated
to the department. This value must be
predefned on the BUYER table.
purchaseTypeYesNumber (1)The code which indicates whether
items in this department are normal
merchandise (0) or consignment
stock (1).

Table 5-937 (Cont.) Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
totalMarketAmountNoNumber
(24,4)
The total market amount that is
expected for the department. This
value cannot be less than 1000.
merchandiserNoNumber (4)The number of the merchandiser that
is associated to the department. This
value must be predefned on the
MERCHANT table.
groupNoYesNumber (4)The number of the group to which
the department belongs. This value
must be predefned on the GROUPS
table.
budgetedMarkupNoNumber
(12,4)
The budgeted markup percentage.
The markup percent of cost. If this
value is not populated on the message
it will be calculated to be the inverse
of the budgeted intake percentage.
This column will hold 70% as 70, not.
70.
proftCalcTypeYesNumber (1)The number which indicates whether
proft will be calculated by direct cost
(1) or retail inventory (2).
markupCalcTypeYesString (2)The code letter that indicates how
markup is calculated in this
department. Valid values are cost (C)
and retail (R).
otbCalcTypeNoString (1)The code letter which indicates how
OTB is calculated for this department.
Valid values are cost (C) and retail (R).
maximumAverageCounterNoNumber (5)The maximum count of days with
acceptable data to include in an
average for items within the
department.
averageTolerancePercentNoNumber
(12,4)
The tolerance percentage value used
in averaging for items within this
value. This column will hold 70% as
70, not. 70.
budgetedIntakePercentNoNumber
(12,4)
The budgeted intake percentage. The
percent of the total take that is
income. If this feld is not populated
on the message it will be calculated as
the inverse of the budgeted markup
percentage. This column will hold
70% as 70, not. 70.
vatNoCollection of
Object
References a collection of department
VAT information.

Table 5-937 (Cont.) Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes. This collection is
treated as a single group and should
include all named fexible attributes
for the business entity. If any
confgured named attribute is
missing from the input collection, its
value will be set to NULL.
upchargeNoCollection of
Object
References a collection of department
upcharges.
invLayerIdentiferTypeNoString (6)This feld holds the type of identifer
that will be used across systems to
manage and identify inventory layers
at department level.
applyInvIdentiferTypeNoString (1)This feld determines whether the
values at the class level should be
overwritten with department-level
values.

Table 5-938 Vat - Object. See list of elements for detail

Element NameRequiredData TypeDescription
vatRegionYesNumber (4)The number of the VAT region to
which this department is associated.
This value must be predefned on the
VAT_REGION table.
vatCodeYesString (6)The alphanumeric identifer of the
VAT code. This value must be
predefned on the VAT_CODES table.
vatTypeYesString (1)Indicates if the VAT rate is used for
purchasing (C), selling (R), or both (B).
reverseVatIndNoString (1)Indicates if items in the department
are subject to reverse charge VAT at
the vat region. Valid values are Y and
N.

Table 5-939 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.

Table 5-940 Upcharge - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fromLocationNoString (10)Contains the source location from
which goods will be transferred. This
column can contain Country/Area/
Region IDs when From Location Type
is ‘C’, ‘A’, or ‘R’. It will be a store,
virtual warehouse or physical
warehouse when From Location Type
is ‘S’, ‘W’ or ‘PW’. Otherwise, it should
be left blank when From Location
Type is either ‘AS’ or ‘AW’.
toLocationNoString (10)Contains the destination location to
which goods will be transferred. This
column can contain Country/Area/
Region IDs when To Location Type is
’C’, ‘A’, or ‘R’. It will be a store, virtual
warehouse or physical warehouse
when To Location Type is ‘S’, ‘W’ or
’PW’. Otherwise, it should be left
blank when To Location Type is
either ‘AS’ or ‘AW’.
fromLocationTypeYesString (6)Contains the type of source location
from which goods will be transferred.
Valid values are defned in code type
’LTPC’. Examples are: C - Country, A -
Area, R - Region, S - Store, W - Virtual
Warehouse, PW - Physical
Warehouse, AS - All Stores, AW - All
Warehouses
toLocationTypeYesString (6)Contains the type of destination
location to which goods will be
transferred. Valid values are defned
in code type ‘LTPC’. Examples are: C -
Country, A - Area, R - Region, S - Store,
W - Virtual Warehouse, PW - Physical
Warehouse, AS - All Stores, AW - All
Warehouses.
detailsNoCollection of
Object
References a collection of department
upcharge detail information.

Table 5-941 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentYesString (10)This feld contains the unique
identifer of the Up Charge
component.
componentRateYesNumber
(20,4)
This feld contains the rate to be
charged against the cost of the
Item/To Location combinations
within the department.
perCountNoNumber
(12,4)
This feld contains a count indicating
the amount of the Per Count Unit of
Measure to which the rate applies.

Table 5-941 (Cont.) Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
perCountUomNoString (4)This feld contains the unit of
measure in which the Per Count is
specifed.
upChargeGroupYesString (6)This feld contains the up charge
group to which the component ID
belongs. Valid values can be found on
the codes table with a code type of
UCHG. Examples are Admin. Fee (A),
Freight (F) and Special K Fees (K).
componentCurrencyYesString (3)This feld contains the currency of the
Up Charge component.
effectiveDateNodateThe date from which the new values
are effective in the system.
itemDefaultIndNoString (1)Indicates if component rate
information is updated or not for
existing items under the department.
transferAllocationDefaultIndNoString (1)Indicates if component rate
information is updated or not for
existing transfers and allocations
under the department.
computationValueBaseNoString (10)Contains the Computation Value Basis
for the Up Charge component.
costBasisNoString (6)Contains the basis the Up Charge will
be calculated against. Valid values are
defned in code type UCCB (Up Charge
Cost Basis) with values: Weighted
Average Cost (W), Supplier Cost (S)
and Off-Invoice Net Cost (N).
includeInTotalUpChargeIndNoString (1)Used to determine if the value of the
individual up charge component is
used to calculate the total up charge
(Y) or if it is only used as the basis of
calculating another up charge (N).
This column will default to the value
in the ELC_COMP table but can be
updated at the department level.
Sample Input Message
{
  "dept": 3041,
  "deptName": "deptName",
  "buyer": 610,
  "purchaseType": 1,
  "totalMarketAmount": 1010,
  "merchandiser": 810,
  "groupNo": 300,
  "budgetedMarkup": 3,
  "profitCalcType": 1,
  "markupCalcType": "C",
  "otbCalcType": "C",
  "maximumAverageCounter": 42,
  "averageTolerancePercent": 3,
  "budgetedIntakePercent": 3,
  "vat": [
    {
      "vatRegion": 1000,
      "vatCode": "S",
      "vatType": "B",
      "reverseVatInd": "Y"
    }
  ],
  "customFlexAttribute": [
    {
      "name": "REVIEW_DATE",
      "value": null,
      "valueDate": "2001-12-31"
    }
  ],
  "upcharge": [
    {
      "fromLocation": "1231",
      "toLocation": "3111",
      "fromLocationType": "S",
      "toLocationType": "S",
      "details": [
        {
          "component": "UC1",
          "componentRate": 3.55,
          "perCount": 3,
          "perCountUom": "EA",
          "upChargeGroup": "A",
          "componentCurrency": "USD",
          "effectiveDate": "2001-12-31",
          "itemDefaultInd": "Y",
          "transferAllocationDefaultInd": "Y",
          "computationValueBase": "C1",
          "costBasis": "S",
          "includeInTotalUpChargeInd": "N"
        }
      ]
    }
  ],
  "invLayerIdentifierType": "L",
  "applyInvIdentifierType": "N"
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Create Department Taxes

Functional Area

Merchandise Hierarchy

Business Overview

If you are configured to run Merchandising using the Simple VAT (SVAT) setup for your default tax type, then you can set the VAT rates by region for the department using this service. VAT details can be passed in the Department create service payload, or they can be passed in specifically using this service. VAT region and VAT codes records must exist prior to creating department VAT records. Also, when passing in a new VAT region to an existing department with attached items, the VAT information will default to all items.

Service Type

POST

ReST URL
MerchIntegrations/services/merchandiseHierarchy/department/tax/create
Input Payload Details

Table 5-942 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deptYesNumber (4)The number which uniquely
identifes the department. This value
cannot be modifed.

Table 5-942 (Cont.) Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
vatNoCollection of
Object
References a collection of department
VAT information.
invLayerIdentiferTypeNoString (6)This feld holds type of identifer that
will be used across systems to
manage and identify inventory layers
at department level.
applyInvIdentiferTypeNoString (1)This feld will determine if the values
at the class level should be
overwritten with department level
values.

Table 5-943 Vat - Object. See list of elements for detail

Element NameRequiredData TypeDescription
vatRegionYesNumber (4)The number of the VAT region to
which this department is associated.
This value must be predefned on the
VAT_REGION table.
vatCodeYesString (6)The alphanumeric identifer of the
VAT code. This value must be
predefned on the VAT_CODES table.
vatTypeYesString (1)Indicates if the VAT rate is used for
purchasing (C), selling (R), or both (B).
reverseVatIndNoString (1)Indicates if items in the department
are subject to reverse charge VAT at
the vat region. Valid values are Y and
N.
Sample Input Message
{
  "dept": 3041,
  "vat": [
    {
      "vatRegion": 1000,
      "vatCode": "S",
      "vatType": "C",
      "reverseVatInd": "Y"
    }
  ],
  "invLayerIdentifierType": "L",
  "applyInvIdentifierType": "N"
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Create Department Up Charge

Functional Area

Merchandise Hierarchy

Business Overview

This service is used to create up charges for a department.

This service first validates the set of required fields, including the from-locations and tolocations in the request payload. If no up-charge record is found, this message creates the upcharge for the department and from/to location combination. As part of the addition, you can indicate in the payload if you want to have the up-charges added to existing items or only added for new items. Similarly, there is a flag in the message to indicate whether the new up charges need to be cascaded to transfers and allocations which are unshipped and not in closed or deleted status. The department up charges will be created as soon as the request payload is consumed, but the new up charges will be cascaded to items, transfers, and allocations via batches which runs at the end of every business day.

Service Type

POST

ReST URL
MerchIntegrations/services/merchandiseHierarchy/department/upCharge/create
Input Payload Details

Table 5-944 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deptYesNumber (4)The number which
uniquely identifes the
department. This
value cannot be
modifed.
upchargeNoCollection of ObjectReferences a collection
of department
upcharges.
invLayerIdentiferTyp
e
NoString (6)This feld holds type of
identifer that will be
used across systems to
manage and identify
inventory layers at
department level.
applyInvIdentiferTyp
e
NoString (1)This feld will
determine if the values
at the class level
should be overwritten
with department level
values.

Table 5-945 Upcharge - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fromLocationNoString (10)Contains the source
location from which
goods will be
transferred. This
column can contain
Country/Area/Region
IDs when From
Location Type is ‘C’, ‘A’,
or ‘R’. It will be a store,
virtual warehouse or
physical warehouse
when From Location
Type is ‘S’, ‘W’ or ‘PW’.
Otherwise, it should be
left blank when From
Location Type is either
’AS’ or ‘AW’.

Table 5-945 (Cont.) Upcharge - Object. See list of elements for detail

Element NameRequiredData TypeDescription
toLocationNoString (10)Contains the
destination location to
which goods will be
transferred. This
column can contain
Country/Area/Region
IDs when To Location
Type is ‘C’, ‘A’, or ‘R’. It
will be a store, virtual
warehouse or physical
warehouse when To
Location Type is ‘S’, ‘W’
or ‘PW’. Otherwise, it
should be left blank
when To Location
Type is either ‘AS’ or
’AW’.
fromLocationTypeYesString (6)Contains the type of
source location from
which goods will be
transferred. Valid
values are defned in
code type ‘LTPC’.
Examples are: C -
Country, A - Area, R -
Region, S - Store, W -
Virtual Warehouse,
PW - Physical
Warehouse, AS - All
Stores, AW - All
Warehouses
toLocationTypeYesString (6)Contains the type of
destination location to
which goods will be
transferred. Valid
values are defned in
code type ‘LTPC’.
Examples are: C -
Country, A - Area, R -
Region, S - Store, W -
Virtual Warehouse,
PW - Physical
Warehouse, AS - All
Stores, AW - All
Warehouses.
detailsNoCollection of ObjectReferences a collection
of department
upcharge detail
information.

Table 5-946 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentYesString (10)This feld contains the
unique identifer of
the Up Charge
component.
componentRateYesNumber (20,4)This feld contains the
rate to be charged
against the cost of the
Item/To Location
combinations within
the department.
perCountNoNumber (12,4)This feld contains a
count indicating the
amount of the Per
Count Unit of Measure
to which the rate
applies.
perCountUomNoString (4)This feld contains the
unit of measure in
which the Per Count is
specifed.
upChargeGroupYesString (6)This feld contains the
up charge group to
which the component
ID belongs. Valid
values can be found
on the codes table with
a code type of UCHG.
Examples are Admin.
Fee (A), Freight (F) and
Special K Fees (K).
componentCurrencyYesString (3)This feld contains the
currency of the Up
Charge component.
effectiveDateNodateThe date from which
the new values are
effective in the system.
itemDefaultIndNoString (1)Indicates if component
rate information is
updated or not for
existing items under
the department.
transferAllocationDefa
ultInd
NoString (1)Indicates if component
rate information is
updated or not for
existing transfers and
allocations under the
department.
computationValueBaseNoString (10)Contains the
Computation Value
Basis for the Up
Charge component.

Table 5-946 (Cont.) Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
costBasisNoString (6)Contains the basis the
Up Charge will be
calculated against.
Valid values are
defned in code type
UCCB (Up Charge Cost
Basis) with values:
Weighted Average Cost
(W), Supplier Cost (S)
and Off-Invoice Net
Cost (N).
includeInTotalUpChar
geInd
NoString (1)Used to determine if
the value of the
individual up charge
component is used to
calculate the total up
charge (Y) or if it is
only used as the basis
of calculating another
up charge (N). This
column will default to
the value in the
ELC_COMP table but
can be updated at the
department level.
Sample Input Message
{
"dept": 3041,
"upcharge": [
{
"fromLocation": "1231",
"toLocation": "6000",
"fromLocationType": "S",
"toLocationType": "S",
"details": [
{
"component": "UC1",
"componentRate": 6.2,
"perCount": 3,
"perCountUom": "EA",
"upChargeGroup": "A",
"componentCurrency": "USD",
"effectiveDate": "2001-12-31",
"itemDefaultInd": "N",
"transferAllocationDefaultInd": "Y",
"computationValueBase": "C1",
"costBasis": "S",
"includeInTotalUpChargeInd": "N"
}
]
}
],
"invLayerIdentifierType": "L",
"applyInvIdentifierType": "Y"
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}

Delete Department

Functional Area
Merchandise Hierarchy
Business Overview

This service may be used to delete the department element of the merchandise hierarchy based on an external system if Merchandising is not the system of record for merchandise hierarchy information. When a department is deleted, this service will add the department to a purge staging table for processing in the Daily Purge of Foundation Data process.

Note: Associated custom flex attributes are also deleted when the department is deleted.

For more details on Departments, see the Create Department service description.

Service Type

DELETE

ReST URL
MerchIntegrations/services/merchandiseHierarchy/department/delete

Input Payload Details

Table 5-947 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deptYesNumber (4)The number which uniquely
identifes the department.
Sample Input Message
{
  "dept": 3041
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Delete Department Up Charge

Functional Area

Merchandise Hierarchy

Business Overview

This service is used to delete up charges linked with a department. When a request containing an up charge is received, the set of required fields is validated. If the up charge record exists for the department, then this gets deleted. If no up charge component is provided, the system will delete all the up charge components along with the from location / to location combination. Deleting up charges from a department does not automatically remove them from the items or transfers and allocations for items in the department.

Service Type
DELETE
ReST URL
MerchIntegrations/services/merchandiseHierarchy/department/upCharge/delete
Input Payload Details

Table 5-948 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deptYesNumber (4)The number which
uniquely identifes the
department.
upchargeNoCollection of ObjectReferences a collection
of department
upcharge information.

Table 5-949 Upcharge - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fromLocationNoString (10)Contains the source
location from which
goods will be
transferred. This
column can contain
Country/Area/Region
IDs when From
Location Type is ‘C’, ‘A’,
or ‘R’. It will be a store,
virtual warehouse or
physical warehouse
when From Location
Type is ‘S’, ‘W’ or ‘PW’.
Otherwise, it should be
left blank when From
Location Type is either
’AS’ or ‘AW’.

Table 5-949 (Cont.) Upcharge - Object. See list of elements for detail

Element NameRequiredData TypeDescription
toLocationNoString (10)Contains the
destination location to
which goods will be
transferred. This
column can contain
Country/Area/Region
IDs when To Location
Type is ‘C’, ‘A’, or ‘R’. It
will be a store, virtual
warehouse or physical
warehouse when To
Location Type is ‘S’, ‘W’
or ‘PW’. Otherwise, it
should be left blank
when To Location
Type is either ‘AS’ or
’AW’.
fromLocationTypeYesString (6)Contains the type of
source location from
which goods will be
transferred. Valid
values are defned in
code type ‘LTPC’.
Examples are: C -
Country, A - Area, R -
Region, S - Store, W -
Virtual Warehouse,
PW - Physical
Warehouse, AS - All
Stores, AW - All
Warehouses.
toLocationTypeYesString (6)Contains the type of
destination location to
which goods will be
transferred. Valid
values are defned in
code type ‘LTPC’.
Examples are: C -
Country, A - Area, R -
Region, S - Store, W -
Virtual Warehouse,
PW - Physical
Warehouse, AS - All
Stores, AW - All
Warehouses.
detailsNoCollection of ObjectReferences a collection
of department
upcharge detail
information.

Table 5-950 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentNoString (10)This feld contains the
unique identifer of
the Up Charge
component.
itemDefaultIndNoString (1)Indicates if component
rate information is
deleted or not for
existing items under
the department.
Sample Input Message
{
"dept": 3041,
"upcharge": [
{
"fromLocation": "1121",
"toLocation": "1311",
"fromLocationType": "S",
"toLocationType": "S",
"details": [
{
"component": "UC1",
"itemDefaultInd": "N"
}
]
}
]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}

Update Department

Functional Area
Merchandise Hierarchy
Business Overview

This service may be used to update the department element of the merchandise hierarchy based on an external system if Merchandising is not the system of record for merchandise hierarchy information. When a department is updated, this service will first validate that all the required fields are present in the message. Business level validation on the input information will be performed to:

  • Verify if the department is present.

  • Verify if total market amount is received then it should be at least 1000.

  • Verify the child detail, if included, contain all required fields. The child detail contain VAT and upcharge details for a department.

If all the validations are completed successfully, then the department is updated. Active custom flex attributes can also be updated for the department via this service.

For more details on Department, see the Create Department service description.

Service Type

PUT

ReST URL
MerchIntegrations/services/merchandiseHierarchy/department/update
Input Payload Details

Table 5-951 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deptYesNumber (4)The number which uniquely
identifes the department. This value
cannot be modifed.
deptNameYesString (120)The name of the department.
buyerNoNumber (4)The number of the buyer associated
to the department. This value must be
predefned on the BUYER table.

Table 5-951 (Cont.) Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
totalMarketAmountNoNumber
(24,4)
The total market amount that is
expected for the department. This
value cannot be less than 1000.
merchandiserNoNumber (4)The number of the merchandiser that
is associated to the department. This
value must be predefned on the
MERCHANT table.
groupNoYesNumber (4)The number of the group to which
the department belongs. This value
must be predefned on the GROUPS
table.
budgetedMarkupNoNumber
(12,4)
The budgeted markup percentage.
The markup percent of cost. If this
value is not populated on the message
it will be calculated to be the inverse
of the budgeted intake percentage.
This column will hold 70% as 70, not.
70.
markupCalcTypeYesString (2)The code letter that indicates how
markup is calculated in this
department. Valid values are cost (C)
and retail (R).
maximumAverageCounterNoNumber (5)The maximum count of days with
acceptable data to include in an
average for items within the
department.
averageTolerancePercentNoNumber
(12,4)
The tolerance percentage value used
in averaging for items within this
value. This column will hold 70% as
70, not. 70.
budgetedIntakePercentNoNumber
(12,4)
The budgeted intake percentage. The
percent of the total take that is
income. If this feld is not populated
on the message it will be calculated as
the inverse of the budgeted markup
percentage. This column will hold
70% as 70, not. 70.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes. This collection is
treated as a single group and should
include all named fexible attributes
for the business entity. If any
confgured named attribute is
missing from the input collection, its
value will be set to NULL.
invLayerIdentiferTypeNoString (6)This feld holds the type of identifer
that will be used across systems to
manage and identify inventory layers
at department level.

Table 5-951 (Cont.) Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
applyInvIdentiferTypeNoString (1)This feld determine whether the
values at the class level should be
overwritten with department-level
values.

Table 5-952 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "dept": 3041,
  "deptName": "deptName",
  "buyer": 1000,
  "totalMarketAmount": 3,
  "merchandiser": 1000,
  "groupNo": 1000,
  "budgetedMarkup": 3,
  "markupCalcType": "C",
  "maximumAverageCounter": 10000,
  "averageTolerancePercent": 3,
  "budgetedIntakePercent": 3,
  "customFlexAttribute": [
    {
      "name": "REVIEW_DATE",
      "value": null,
      "valueDate": "2001-12-31"
    }
  ],
  "invLayerIdentifierType": "L",
  "applyInvIdentifierType": "N"
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Update Department Taxes

Functional Area

Merchandise Hierarchy

Business Overview

If you are configured to run Merchandising using Simple VAT (SVAT) for your default tax type, then you can update the VAT rates by region for the department using this service. This service will check for all the required fields in the message and updates the VAT information for a department. When updating VAT details for a department containing items, the VAT information will default to all items within the department.

Service Type

PUT

ReST URL
MerchIntegrations/services/merchandiseHierarchy/department/tax/update
Input Payload Details

Table 5-953 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deptYesNumber (4)The number which uniquely
identifes the department. This value
cannot be modifed.
vatNoCollection of
Object
References a collection of department
VAT information.

Table 5-953 (Cont.) Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
invLayerIdentiferTypeNoString (6)This feld holds the type of identifer
that will be used across systems to
manage and identify inventory layers
at department level.
applyInvIdentiferTypeNoString (1)This feld determines whether the
values at the class level should be
overwritten with department-level
values.

Table 5-954 Vat - Object. See list of elements for detail

Element NameRequiredData TypeDescription
vatRegionYesNumber (4)The number of the VAT region to
which this department is associated.
This value must be predefned on the
VAT_REGION table.
vatCodeYesString (6)The alphanumeric identifer of the
VAT code. This value must be
predefned on the VAT_CODES table.
vatTypeYesString (1)Indicates if the VAT rate is used for
purchasing (C), selling (R), or both (B).
reverseVatIndNoString (1)Indicates if items in the department
are subject to reverse charge VAT at
the vat region. Valid values are Y and
N.
Sample Input Message
{
  "dept": 3041,
  "vat": [
    {
      "vatRegion": 1000,
      "vatCode": "S",
      "vatType": "C",
      "reverseVatInd": "Y"
    }
  ],
  "invLayerIdentifierType": "L",
  "applyInvIdentifierType": "N"
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Update Department Up Charge

Functional Area

Merchandise Hierarchy

Business Overview

This service is used to update up charges linked with a department. When a message containing up charge details is received, the set of required fields is validated. If an up charge record exists for a department and the from-location and to-location combination in the request payload, then the up charge details are updated for the department. As part of the update there is also an option to have the up charges updated for items in the department, or unshipped transfers and allocations for items in the department. The department up charges will be updated as soon as the request payload is consumed, but the updates will be cascaded to items, transfers, and allocations via batches which runs at the end of every day.

Service Type

PUT

ReST URL
MerchIntegrations/services/merchandiseHierarchy/department/upCharge/update
Input Payload Details

Table 5-955 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deptYesNumber (4)The number which
uniquely identifes the
department. This
value cannot be
modifed.
upchargeNoCollection of ObjectReferences a collection
of department
upcharges.
invLayerIdentiferTyp
e
NoString (6)This feld holds type of
identifer that will be
used across systems to
manage and identify
inventory layers at
department level.
applyInvIdentiferTyp
e
NoString (1)This feld will
determine if the values
at the class level
should be overwritten
with department level
values.

Table 5-956 Upcharge - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fromLocationNoString (10)Contains the source
location from which
goods will be
transferred. This
column can contain
Country/Area/Region
IDs when From
Location Type is ‘C’, ‘A’,
or ‘R’. It will be a store,
virtual warehouse or
physical warehouse
when From Location
Type is ‘S’, ‘W’ or ‘PW’.
Otherwise, it should be
left blank when From
Location Type is either
’AS’ or ‘AW’.

Table 5-956 (Cont.) Upcharge - Object. See list of elements for detail

Element NameRequiredData TypeDescription
toLocationNoString (10)Contains the
destination location to
which goods will be
transferred. This
column can contain
Country/Area/Region
IDs when To Location
Type is ‘C’, ‘A’, or ‘R’. It
will be a store, virtual
warehouse or physical
warehouse when To
Location Type is ‘S’, ‘W’
or ‘PW’. Otherwise, it
should be left blank
when To Location
Type is either ‘AS’ or
’AW’.
fromLocationTypeYesString (6)Contains the type of
source location from
which goods will be
transferred. Valid
values are defned in
code type ‘LTPC’.
Examples are: C -
Country, A - Area, R -
Region, S - Store, W -
Virtual Warehouse,
PW - Physical
Warehouse, AS - All
Stores, AW - All
Warehouses
toLocationTypeYesString (6)Contains the type of
destination location to
which goods will be
transferred. Valid
values are defned in
code type ‘LTPC’.
Examples are: C -
Country, A - Area, R -
Region, S - Store, W -
Virtual Warehouse,
PW - Physical
Warehouse, AS - All
Stores, AW - All
Warehouses.
detailsNoCollection of ObjectReferences a collection
of department
upcharge detail
information.

Table 5-957 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentYesString (10)This feld contains the
unique identifer of
the Up Charge
component.
componentRateYesNumber (20,4)This feld contains the
rate to be charged
against the cost of the
Item/To Location
combinations within
the department.
perCountNoNumber (12,4)This feld contains a
count indicating the
amount of the Per
Count Unit of Measure
to which the rate
applies.
perCountUomNoString (4)This feld contains the
unit of measure in
which the Per Count is
specifed.
upChargeGroupYesString (6)This feld contains the
up charge group to
which the component
ID belongs. Valid
values can be found
on the codes table with
a code type of UCHG.
Examples are Admin.
Fee (A), Freight (F) and
Special K Fees (K).
componentCurrencyYesString (3)This feld contains the
currency of the Up
Charge component.
effectiveDateNodateThe date from which
the new values are
effective in the system.
itemDefaultIndNoString (1)Indicates if component
rate information is
updated or not for
existing items under
the department.
transferAllocationDefa
ultInd
NoString (1)Indicates if component
rate information is
updated or not for
existing transfers and
allocations under the
department.
computationValueBaseNoString (10)Contains the
Computation Value
Basis for the Up
Charge component.

Table 5-957 (Cont.) Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
costBasisNoString (6)Contains the basis the
Up Charge will be
calculated against.
Valid values are
defned in code type
UCCB (Up Charge Cost
Basis) with values:
Weighted Average Cost
(W), Supplier Cost (S)
and Off-Invoice Net
Cost (N).
includeInTotalUpChar
geInd
NoString (1)Used to determine if
the value of the
individual up charge
component is used to
calculate the total up
charge (Y) or if it is
only used as the basis
of calculating another
up charge (N). This
column will default to
the value in the
ELC_COMP table but
can be updated at the
department level.
Sample Input Message
{
"dept": 3041,
"upcharge": [
{
"fromLocation": "1231",
"toLocation": "1521",
"fromLocationType": "S",
"toLocationType": "S",
"details": [
{
"component": "UC1",
"componentRate": 3.55,
"perCount": 3,
"perCountUom": "EA",
"upChargeGroup": "A",
"componentCurrency": "USD",
"effectiveDate": "2001-12-31",
"itemDefaultInd": "N",
"transferAllocationDefaultInd": "Y",
"computationValueBase": null,
"costBasis": "S",
"includeInTotalUpChargeInd": "N"
}
]
}
],
"invLayerIdentifierType": "L",
"applyInvIdentifierType": "N"
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}

Division Download Service

The following services are included in this functional area:

  • Get Division Details for Provided Division

  • Get Divisions

Get Division Details for Provided Division

Endpoints
MerchIntegrations/services/foundation/merchhier/division/{division}
MerchIntegrations/services/foundation/merchhier/division
MerchIntegrations/services/foundation/merchhier/groups/{group}
MerchIntegrations/services/foundation/merchhier/groups
MerchIntegrations/services/foundation/merchhier/deps/{dept}
MerchIntegrations/services/foundation/merchhier/deps
MerchIntegrations/services/foundation/merchhier/class/{uniqueClassId}
MerchIntegrations/services/foundation/merchhier/class
MerchIntegrations/services/foundation/merchhier/subclass/{uniqueSubclassId}
MerchIntegrations/services/foundation/merchhier/subclass
Functional Area
Merchandise Hierarchy
Business Overview

This service publishes merchandise hierarchy department data to downstream consuming systems. It is the department-level projection of the shared merchandise hierarchy cache and publishes the current department definition together with department name, buyer, purchase type, group, budgeting and markup attributes, inventory-layer identifier type, and department custom flex attributes.

The merch hierarchy publication for the different hierarchy level (Division, Gruops, Department, Class and Subclass) shares the same underlying processing logic and each of the level have its own endpoint. The below technical details covers all the hierarchy levels.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on

how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: DIVISION, GROUPS, DEPS, CLASS, SUBCLASS

Additional business tables: COMPHEAD, DEPS_CFA_EXT, CLASS_CFA_EXT, SUBCLASS_CFA_EXT

JSON cache table: MERCHAPI_EXT_MERCHHIER

JSON generation view: not applicable; this service reads from the shared cache maintained by foundation/merchhier

This service is the department-level child merchapi of the shared foundation/merchhier family.

It publishes only department rows from the shared cache table MERCHAPI_EXT_MERCHHIER, so the source tables, delta drivers, refresh logic, CFA helper handling, batch job, and background-engine controls are the same as the parent merchapi family section above.

Functionally, it is the department-only projection of the current merchandise hierarchy.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_EXT_MERCHHIER_JSON and apply no status filter; publishes current hierarchy rows that exist in the source tables.

Rebuild marks cache rows deleted when the hierarchy key no longer exists in V_MERCHAPI_EXT_MERCHHIER_JSON.

ICL (Integration Change Log) table: ICL_RMS_DIVISION, ICL_RMS_GROUPS, ICL_RMS_DEPS, ICL_RMS_CLASS, ICL_RMS_SUBCLASS (ICL consumer name = MERCHAPI)

This service relies on the shared delta-processing flow used by foundation/merchhier.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_MERCHHIER

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_MERCH_HIER_ADHOC_PROCESS MERCHAPI_EXT_MERCH_HIER_ADHOC_JOB

Webhook configuration api name:

Division: foundation/merchhier/division

Groups: foundation/merchhier/groups

Department: foundation/merchhier/deps

Class: foundation/merchhier/class

Subclass: foundation/merchhier/subclass

Special handling

The parent merchapi configuration name for all the hierarchy level is ‘foundation/merchhier’.

Table 5-958 Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoString (10)Offset key (Hierarchy
ID)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-959 Input Parameter for “MerchIntegrations/services/foundation/merchhier/ deps/{dept}“

Parameter NameRequiredData TypeDescription
deptYesNumber
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)
Service Type

GET

ReST URLs for Division

MerchIntegrations/services/foundation/merchhier/division

MerchIntegrations/services/foundation/merchhier/division/{division}

ReST URLs for Groups

MerchIntegrations/services/foundation/merchhier/groups

MerchIntegrations/services/foundation/merchhier/groups/{group}

ReST URLs for Department

MerchIntegrations/services/foundation/merchhier/deps

MerchIntegrations/services/foundation/merchhier/deps/{dept}

ReST URLs for Class
/MerchIntegrations/services/foundation/merchhier/class?
since={since}&before={before}&offsetkey={offsetkey}&limit={limit}&dept={dept}&
class={class}
/MerchIntegrations/services/foundation/merchhier/class/{uniqueClassId}
ReST URLs for Subclass

MerchIntegrations/services/foundation/merchhier/subclass

MerchIntegrations/services/foundation/merchhier/subclass/{uniqueSubclassId}

Common Input parameters for URLs without path parameter

Parameter NameRequire
d
Data TypeDescription
sinceNoStringSince Date.
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
beforeNoStringBefore Date
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
offsetkeyNoStringOffset Key. Valid Value is combination of
sort_order_seq and node id.
limitNoBigDecima
l
Pagination limit. Default Value is 1000.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input query parameter for /MerchIntegrations/services/foundation/merchhier/class

Parameter NameRequire
d
Data TypeDescription
deptNoNumberIf dept is provided, the service will return
classes which belong to this dept
Parameter NameRequire
d
Data TypeDescription
classNoNumberIf class is provided, the service will return
class(es) matching the input class number.
To query a specifc class, value for both dept
and class should be provided.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input query parameter for /MerchIntegrations/services/foundation/merchhier/subclass

Parameter NameRequire
d
Data TypeDescription
deptNoNumberIf dept is provided, the service will return
subclasses which belong to this dept
classNoNumberIf class is provided, the service will return
subclass(es) whose parent class number
matches the input class number.
subclassNoNumberIf subclass is provided, the service will
return subclass(es) matching the input
subclass number. To query a specifc
subclass, value for dept and class and
subclass should be provided.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/division/{division}

Parameter NameRequire
d
Data TypeDescription
divisionYesNumberThis feld contains the number which
uniquely identifes the division of the
company
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/groups/{group}

Parameter NameRequire
d
Data TypeDescription
groupYesNumberThis feld contains the number which
uniquely identifes the group.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/deps/{dept}

Parameter NameRequire
d
Data TypeDescription
deptYesNumberThis feld contains the number which
uniquely identifes the department.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/class/ {uniqueClassId}

Parameter NameRequire
d
Data TypeDescription
uniqueClassIdYesNumberThis feld contains the number that
uniquely identifes the department/class
combination.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/subclass/ {uniqueSubclassId}

Parameter NameRequire
d
Data TypeDescription
uniqueSubclassIdYesNumberThis feld contains the number that
uniquely identifes the department/class/
subclass combination.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
Parameter NameRequire
d
Data TypeDescription
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)
Output - Division

Table 5-960 PageResultsItemsMerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-961 MerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for division
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
divisionNoNumber(4,0)This feld contains the
number which
uniquely identifes the
division of the
company.
divisionNameNoString (120)This feld contains the
name which, along
with the division
number, identifes the
division of the
company.

Table 5-961 (Cont.) MerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
division.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
division.
totalMarketAmountNoNumber(24,4)This feld contains the
total market amount
that is expected for the
division. The feld can
be used for analytics
or reporting.
companyNoNumber(4,0)This feld contains the
number which
uniquely identifes the
company.
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-962 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL

Table 5-962 (Cont.) LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "hierarchyLevel": null, "division": 1, "divisionName": "divName", "buyer": 1, "merchantId": 1, "totalMarketAmount": 3, "company": 1, "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z", "cacheTimestamp": "2001-12-31T23:59:59.000Z", "cacheCreateTimestamp": "2001-12-31T23:59:59.000Z" } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Output - Groups

Table 5-963 PageResultsItemsMerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records

Table 5-963 (Cont.) PageResultsItemsMerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-964 MerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for group
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
groupNoNumber(4,0)This feld contains the
number which
uniquely identifes the
group.
groupNameNoString (120)This feld contains the
description which,
along with the group
number, identifes the
group.
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
group.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
group.
divisionNoNumber(4,0)This feld contains the
number which
uniquely identifes the
division of the
company.

Table 5-964 (Cont.) MerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-965 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"hierarchyLevel": null,
"group": 1,
"groupName": "groupName",
"buyer": 1,
"merchantId": 1,
"division": 1,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Output - Department

Table 5-966 PageResultsItemsMerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-967 MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for department
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
deptNoNumber(4,0)This feld contains the
number which
uniquely identifes the
department.

Table 5-967 (Cont.) MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deptNameNoString (120)This feld contains the
description which
identifes the
department.
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
department.
purchaseTypeNoNumber(1,0)This feld contains a
code which indicates
whether items in this
department are, by
default, owned
(normal) merchandise,
consignment stock, or
concession stock.
totalMarketAmountNoNumber(24,4)This feld contains the
total market amount
that is expected for the
department. The feld
can be used for
analytics or reporting.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
department.
groupNoNumber(4,0)This feld contains the
number of the group
to which the
department belongs.
budgetedMarkupNoNumber(12,4)This feld contains the
budgeted markup
percentage.
proftCalcTypeNoNumber(1,0)This feld contains a
number which
indicates whether
proft will be
calculated by cost or
retail, indicating the
accounting method to
be used for the
department.
markupCalcTypeNoString (2)This feld contains the
code which
determines how
markup is calculated
in this department.

Table 5-967 (Cont.) MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
otbCalcTypeNoString (1)This feld contains the
code which
determines how OTB is
calculated in this
department.
budgetedIntakePercen
t
NoNumber(12,4)This feld contains the
budgeted intake
percentage.
deptVatIncludeIndNoString (1)This feld indicates the
default value for the
class VAT indicator.
When classes are
initially set up they
inherit this value.
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
customFlexAttributeNoCollection of ObjectThis list holds custom
fex attributes for the
department.
inventoryLayerIdentif
erType
NoString (6)This feld holds the
inventory layer
identifer type at the
department level.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-968 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.

Table 5-968 (Cont.) CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-969 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"hierarchyLevel": null,
"dept": 3041,
"deptName": "deptName",
"buyer": 1,
"purchaseType": 1,
"totalMarketAmount": 3,
"merchantId": 1,
"group": 1,
"budgetedMarkup": 3,
"profitCalcType": 1,
"markupCalcType": null,
"otbCalcType": null,
"budgetedIntakePercent": 3,
"deptVatIncludeInd": "Y",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"inventoryLayerIdentifierType": null,
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Output - Class
NameData TypeDescription
actionStringAction for class details. Valid values are INSERT,
UPDATE and DELETE.
hierarchylevelStringThis feld contains the Merchandising
Hierarchy Level.
classNumberContains the number which uniquely identifes
the class within the department.
classNameStringThis feld contains the name of the class which,
along with the class number, identifes the
class.
classVATIndStringThis feld is no longer used by Merchandising
and will always default to N.
deptNumberThis feld contains the number of the
department of which the class is a member.
uniqueClassIdNumberThis feld contains the number that uniquely
identifes the department/class combination.
This column is populated by the system and not
displayed to end users. This will be used for
integration to downstream systems as many
downstream systems are unable to
accommodate the composite dept/class key in
their hierarchy and item structures.
NameData TypeDescription
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record was
last updated.
customFlexAttributesThis list holds custom fex attributes for the
Department.
cacheTimestampStringThis feld specifes date and time when Merch
Hier record was last maintained.
inventoryLayerIdentiferTypeStringThis feld holds type of identifer that will be
used across systems to manage and identify
inventory layers at class level.

Output - Subclass

Table 5-970 PageResultsItemsMerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-971 MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for subclass
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
subclassNoNumber(4,0)This feld contains the
number which
uniquely identifes the
subclass within the
department and class.

Table 5-971 (Cont.) MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
subclassNameNoString (120)This feld contains the
name of the subclass
which, along with the
subclass number,
uniquely identifes the
subclass.
classNoNumber(4,0)This feld contains the
number which
uniquely identifes the
class within the
department.
deptNoNumber(4,0)This feld contains the
number of the
department of which
the subclass is a
member.
uniqueSubclassIdNoNumber(10,0)This feld contains the
number that uniquely
identifes the
department/class/
subclass combination.
This column is
populated by the
system and not
displayed to end users.
This will be used for
integration to
downstream systems
as many downstream
systems are unable to
accommodate the
composite dept/class/
subclass key in their
hierarchy and item
structures.
uniqueClassIdNoNumber(10,0)This feld contains the
number that uniquely
identifes the
department/class
combination. This
column is populated
by the system and not
displayed to end users.
This will be used for
integration to
downstream systems
as many downstream
systems are unable to
accommodate the
composite dept/class
key in their hierarchy
and item structures.

Table 5-971 (Cont.) MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
customFlexAttributeNoCollection of ObjectThis list holds custom
fex attributes for the
subclass in
merchandise
hierarchy.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-972 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-973 LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description href No String Service URL rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "hierarchyLevel": null, "subclass": 1, "subclassName": "subclassName", "class": 1, "dept": 3041, "uniqueSubclassId": 1, "uniqueClassId": 1, "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z", "customFlexAttribute": [ { "name": "attribute1", "value": "value1", "valueDate": "2001-12-31", "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z" } ], "cacheTimestamp": "2001-12-31T23:59:59.000Z", "cacheCreateTimestamp": "2001-12-31T23:59:59.000Z" } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Output – Custom Flex Attribute
NameData TypeDescription
nameStringThis feld will hold the custom fex attribute
name.
valueStringThis feld will hold the numeric or string value
of the custom fex attribute.
valueDateStringThis feld will hold the date value of the custom
fex attribute.
createDateTimeStringThis feld will hold the date time when the
custom fex attribute was inserted.
updateDateTimeStringThis feld will hold the date time when the
custom fex attribute was last updated.
Elements in JSON Output
ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.

Example JSON Output

Division
{
  "items": [
    {
      "action": null,
      "hierarchyLevel": "DIVISION",
      "division": 1000,
      "divisionName": "Grocery",
      "buyer": 1002,
      "merchantId": "612",
      "totalMarketAmount": null,
      "company": 1,
      "createDateTime": "2020-08-18T08:45:53.000Z",
      "updateDateTime": "2021-07-23T11:34:21.000Z",

"cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Groups { "items": [ { "action": null, "hierarchyLevel": "GROUP", "group": 1841, "groupName": "Smoke Group", "buyer": 1003, "merchantId": "845", "division": 3978, "createDateTime": "2020-08-24T17:06:58.000Z", "updateDateTime": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Department { "items": [ { "action": null, "hierarchyLevel": "DEPARTMENT", "dept": 3061, "deptName": "Cats", "buyer": 610, "purchaseType": 0, "totalMarketAmount": null, "merchantId": "840", "group": 306, "budgetedMarkup": 33.3333, "profitCalcType": 1, "markupCalcType": "C", "otbCalcType": "C", "budgetedIntakePercent": 25, "deptVatIncludeInd": "Y", "createDateTime": "2020-08-18T08:45:53.000Z", "updateDateTime": "2021-07-23T12:01:34.000Z", "customFlexAttribute": null,

"cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Class { "items": [ { "action": null, "hierarchyLevel": "CLASS", "class": 1, "className": "Childrens", "classVatInd": "Y", "dept": 3100, "uniqueClassId": 204, "createDateTime": "2020-08-18T08:45:55.000Z", "updateDateTime": null, "customFlexAttribute": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Subclass { "items": [ { "action": null, "hierarchyLevel": "SUBCLASS", "subclass": 2, "subclassName": "Reels", "class": 3, "dept": 3032, "uniqueSubclassId": 15, "uniqueClassId": 137, "createDateTime": "2020-08-18T08:45:55.000Z", "updateDateTime": "2021-07-23T12:12:17.000Z", "customFlexAttribute": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1,

  "links": null
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_DIVISIONYesNoYesYes
ICL_RMS_GROUPSYesNoYesYes
ICL_RMS_DEPSYesNoYesYes
ICL_RMS_CLASSYesNoYesYes
ICL_RMS_SUBCLASSYesNoYesYes
COMPHEADYesNoNoNo
CODE_DETAILYesNoNoNo
MERCHAPI_EXT_MERCHHIERYesYesYesYes
V_ MERCHAPI_EXT_MERCH_HIER
_JSON
YesNoNoNo
SYSTEM_OPTIONSYesNoNoNo
MERCHAPI_EXT_CLASS_CFAYesYesNoYes
MERCHAPI_EXT_DEPS_CFAYesYesNoYes
MERCHAPI_EXT_SUBCLASS_CFAYesYesNoYes
DEPS_CFA_EXTYesNoNoNo
CLASS_CFA_EXTYesNoNoNo
SUBCLASS_CFA_EXTYesNoNoNo

Get Divisions

Endpoints
MerchIntegrations/services/foundation/merchhier/division/{division}
MerchIntegrations/services/foundation/merchhier/division
MerchIntegrations/services/foundation/merchhier/groups/{group}
MerchIntegrations/services/foundation/merchhier/groups
MerchIntegrations/services/foundation/merchhier/deps/{dept}
MerchIntegrations/services/foundation/merchhier/deps
MerchIntegrations/services/foundation/merchhier/class/{uniqueClassId}
MerchIntegrations/services/foundation/merchhier/class
MerchIntegrations/services/foundation/merchhier/subclass/{uniqueSubclassId}
MerchIntegrations/services/foundation/merchhier/subclass
Functional Area
Merchandise Hierarchy
Business Overview

This service publishes merchandise hierarchy department data to downstream consuming systems. It is the department-level projection of the shared merchandise hierarchy cache and publishes the current department definition together with department name, buyer, purchase type, group, budgeting and markup attributes, inventory-layer identifier type, and department custom flex attributes.

The merch hierarchy publication for the different hierarchy level (Division, Gruops, Department, Class and Subclass) shares the same underlying processing logic and each of the level have its own endpoint. The below technical details covers all the hierarchy levels.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on

how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: DIVISION, GROUPS, DEPS, CLASS, SUBCLASS

Additional business tables: COMPHEAD, DEPS_CFA_EXT, CLASS_CFA_EXT, SUBCLASS_CFA_EXT

JSON cache table: MERCHAPI_EXT_MERCHHIER

JSON generation view: not applicable; this service reads from the shared cache maintained by foundation/merchhier

This service is the department-level child merchapi of the shared foundation/merchhier family.

It publishes only department rows from the shared cache table MERCHAPI_EXT_MERCHHIER, so the source tables, delta drivers, refresh logic, CFA helper handling, batch job, and background-engine controls are the same as the parent merchapi family section above.

Functionally, it is the department-only projection of the current merchandise hierarchy.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_EXT_MERCHHIER_JSON and apply no status filter; publishes current hierarchy rows that exist in the source tables.

Rebuild marks cache rows deleted when the hierarchy key no longer exists in V_MERCHAPI_EXT_MERCHHIER_JSON.

ICL (Integration Change Log) table: ICL_RMS_DIVISION, ICL_RMS_GROUPS, ICL_RMS_DEPS, ICL_RMS_CLASS, ICL_RMS_SUBCLASS (ICL consumer name = MERCHAPI)

This service relies on the shared delta-processing flow used by foundation/merchhier.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_MERCHHIER

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_MERCH_HIER_ADHOC_PROCESS MERCHAPI_EXT_MERCH_HIER_ADHOC_JOB

Webhook configuration api name:

Division: foundation/merchhier/division

Groups: foundation/merchhier/groups

Department: foundation/merchhier/deps

Class: foundation/merchhier/class

Subclass: foundation/merchhier/subclass

Special handling

The parent merchapi configuration name for all the hierarchy level is ‘foundation/merchhier’.

Table 5-974 Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoString (10)Offset key (Hierarchy
ID)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-975 Input Parameter for “MerchIntegrations/services/foundation/merchhier/ deps/{dept}“

Parameter NameRequiredData TypeDescription
deptYesNumber
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)
Service Type

GET

ReST URLs for Division

MerchIntegrations/services/foundation/merchhier/division

MerchIntegrations/services/foundation/merchhier/division/{division}

ReST URLs for Groups

MerchIntegrations/services/foundation/merchhier/groups

MerchIntegrations/services/foundation/merchhier/groups/{group}

ReST URLs for Department

MerchIntegrations/services/foundation/merchhier/deps

MerchIntegrations/services/foundation/merchhier/deps/{dept}

ReST URLs for Class
/MerchIntegrations/services/foundation/merchhier/class?
since={since}&before={before}&offsetkey={offsetkey}&limit={limit}&dept={dept}&
class={class}
/MerchIntegrations/services/foundation/merchhier/class/{uniqueClassId}
ReST URLs for Subclass

MerchIntegrations/services/foundation/merchhier/subclass

MerchIntegrations/services/foundation/merchhier/subclass/{uniqueSubclassId}

Common Input parameters for URLs without path parameter

Parameter NameRequire
d
Data TypeDescription
sinceNoStringSince Date.
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
beforeNoStringBefore Date
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
offsetkeyNoStringOffset Key. Valid Value is combination of
sort_order_seq and node id.
limitNoBigDecima
l
Pagination limit. Default Value is 1000.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input query parameter for /MerchIntegrations/services/foundation/merchhier/class

Parameter NameRequire
d
Data TypeDescription
deptNoNumberIf dept is provided, the service will return
classes which belong to this dept
Parameter NameRequire
d
Data TypeDescription
classNoNumberIf class is provided, the service will return
class(es) matching the input class number.
To query a specifc class, value for both dept
and class should be provided.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input query parameter for /MerchIntegrations/services/foundation/merchhier/subclass

Parameter NameRequire
d
Data TypeDescription
deptNoNumberIf dept is provided, the service will return
subclasses which belong to this dept
classNoNumberIf class is provided, the service will return
subclass(es) whose parent class number
matches the input class number.
subclassNoNumberIf subclass is provided, the service will
return subclass(es) matching the input
subclass number. To query a specifc
subclass, value for dept and class and
subclass should be provided.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/division/{division}

Parameter NameRequire
d
Data TypeDescription
divisionYesNumberThis feld contains the number which
uniquely identifes the division of the
company
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/groups/{group}

Parameter NameRequire
d
Data TypeDescription
groupYesNumberThis feld contains the number which
uniquely identifes the group.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/deps/{dept}

Parameter NameRequire
d
Data TypeDescription
deptYesNumberThis feld contains the number which
uniquely identifes the department.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/class/ {uniqueClassId}

Parameter NameRequire
d
Data TypeDescription
uniqueClassIdYesNumberThis feld contains the number that
uniquely identifes the department/class
combination.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/subclass/ {uniqueSubclassId}

Parameter NameRequire
d
Data TypeDescription
uniqueSubclassIdYesNumberThis feld contains the number that
uniquely identifes the department/class/
subclass combination.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
Parameter NameRequire
d
Data TypeDescription
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)
Output - Division

Table 5-976 PageResultsItemsMerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-977 MerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for division
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
divisionNoNumber(4,0)This feld contains the
number which
uniquely identifes the
division of the
company.
divisionNameNoString (120)This feld contains the
name which, along
with the division
number, identifes the
division of the
company.

Table 5-977 (Cont.) MerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
division.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
division.
totalMarketAmountNoNumber(24,4)This feld contains the
total market amount
that is expected for the
division. The feld can
be used for analytics
or reporting.
companyNoNumber(4,0)This feld contains the
number which
uniquely identifes the
company.
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-978 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL

Table 5-978 (Cont.) LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "hierarchyLevel": null, "division": 1, "divisionName": "divName", "buyer": 1, "merchantId": 1, "totalMarketAmount": 3, "company": 1, "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z", "cacheTimestamp": "2001-12-31T23:59:59.000Z", "cacheCreateTimestamp": "2001-12-31T23:59:59.000Z" } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Output - Groups

Table 5-979 PageResultsItemsMerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records

Table 5-979 (Cont.) PageResultsItemsMerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-980 MerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for group
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
groupNoNumber(4,0)This feld contains the
number which
uniquely identifes the
group.
groupNameNoString (120)This feld contains the
description which,
along with the group
number, identifes the
group.
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
group.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
group.
divisionNoNumber(4,0)This feld contains the
number which
uniquely identifes the
division of the
company.

Table 5-980 (Cont.) MerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-981 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"hierarchyLevel": null,
"group": 1,
"groupName": "groupName",
"buyer": 1,
"merchantId": 1,
"division": 1,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Output - Department

Table 5-982 PageResultsItemsMerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-983 MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for department
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
deptNoNumber(4,0)This feld contains the
number which
uniquely identifes the
department.

Table 5-983 (Cont.) MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deptNameNoString (120)This feld contains the
description which
identifes the
department.
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
department.
purchaseTypeNoNumber(1,0)This feld contains a
code which indicates
whether items in this
department are, by
default, owned
(normal) merchandise,
consignment stock, or
concession stock.
totalMarketAmountNoNumber(24,4)This feld contains the
total market amount
that is expected for the
department. The feld
can be used for
analytics or reporting.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
department.
groupNoNumber(4,0)This feld contains the
number of the group
to which the
department belongs.
budgetedMarkupNoNumber(12,4)This feld contains the
budgeted markup
percentage.
proftCalcTypeNoNumber(1,0)This feld contains a
number which
indicates whether
proft will be
calculated by cost or
retail, indicating the
accounting method to
be used for the
department.
markupCalcTypeNoString (2)This feld contains the
code which
determines how
markup is calculated
in this department.

Table 5-983 (Cont.) MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
otbCalcTypeNoString (1)This feld contains the
code which
determines how OTB is
calculated in this
department.
budgetedIntakePercen
t
NoNumber(12,4)This feld contains the
budgeted intake
percentage.
deptVatIncludeIndNoString (1)This feld indicates the
default value for the
class VAT indicator.
When classes are
initially set up they
inherit this value.
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
customFlexAttributeNoCollection of ObjectThis list holds custom
fex attributes for the
department.
inventoryLayerIdentif
erType
NoString (6)This feld holds the
inventory layer
identifer type at the
department level.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-984 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.

Table 5-984 (Cont.) CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-985 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"hierarchyLevel": null,
"dept": 3041,
"deptName": "deptName",
"buyer": 1,
"purchaseType": 1,
"totalMarketAmount": 3,
"merchantId": 1,
"group": 1,
"budgetedMarkup": 3,
"profitCalcType": 1,
"markupCalcType": null,
"otbCalcType": null,
"budgetedIntakePercent": 3,
"deptVatIncludeInd": "Y",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"inventoryLayerIdentifierType": null,
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Output - Class
NameData TypeDescription
actionStringAction for class details. Valid values are INSERT,
UPDATE and DELETE.
hierarchylevelStringThis feld contains the Merchandising
Hierarchy Level.
classNumberContains the number which uniquely identifes
the class within the department.
classNameStringThis feld contains the name of the class which,
along with the class number, identifes the
class.
classVATIndStringThis feld is no longer used by Merchandising
and will always default to N.
deptNumberThis feld contains the number of the
department of which the class is a member.
uniqueClassIdNumberThis feld contains the number that uniquely
identifes the department/class combination.
This column is populated by the system and not
displayed to end users. This will be used for
integration to downstream systems as many
downstream systems are unable to
accommodate the composite dept/class key in
their hierarchy and item structures.
NameData TypeDescription
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record was
last updated.
customFlexAttributesThis list holds custom fex attributes for the
Department.
cacheTimestampStringThis feld specifes date and time when Merch
Hier record was last maintained.
inventoryLayerIdentiferTypeStringThis feld holds type of identifer that will be
used across systems to manage and identify
inventory layers at class level.

Output - Subclass

Table 5-986 PageResultsItemsMerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-987 MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for subclass
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
subclassNoNumber(4,0)This feld contains the
number which
uniquely identifes the
subclass within the
department and class.

Table 5-987 (Cont.) MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
subclassNameNoString (120)This feld contains the
name of the subclass
which, along with the
subclass number,
uniquely identifes the
subclass.
classNoNumber(4,0)This feld contains the
number which
uniquely identifes the
class within the
department.
deptNoNumber(4,0)This feld contains the
number of the
department of which
the subclass is a
member.
uniqueSubclassIdNoNumber(10,0)This feld contains the
number that uniquely
identifes the
department/class/
subclass combination.
This column is
populated by the
system and not
displayed to end users.
This will be used for
integration to
downstream systems
as many downstream
systems are unable to
accommodate the
composite dept/class/
subclass key in their
hierarchy and item
structures.
uniqueClassIdNoNumber(10,0)This feld contains the
number that uniquely
identifes the
department/class
combination. This
column is populated
by the system and not
displayed to end users.
This will be used for
integration to
downstream systems
as many downstream
systems are unable to
accommodate the
composite dept/class
key in their hierarchy
and item structures.

Table 5-987 (Cont.) MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
customFlexAttributeNoCollection of ObjectThis list holds custom
fex attributes for the
subclass in
merchandise
hierarchy.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-988 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-989 LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description href No String Service URL rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "hierarchyLevel": null, "subclass": 1, "subclassName": "subclassName", "class": 1, "dept": 3041, "uniqueSubclassId": 1, "uniqueClassId": 1, "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z", "customFlexAttribute": [ { "name": "attribute1", "value": "value1", "valueDate": "2001-12-31", "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z" } ], "cacheTimestamp": "2001-12-31T23:59:59.000Z", "cacheCreateTimestamp": "2001-12-31T23:59:59.000Z" } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Output – Custom Flex Attribute
NameData TypeDescription
nameStringThis feld will hold the custom fex attribute
name.
valueStringThis feld will hold the numeric or string value
of the custom fex attribute.
valueDateStringThis feld will hold the date value of the custom
fex attribute.
createDateTimeStringThis feld will hold the date time when the
custom fex attribute was inserted.
updateDateTimeStringThis feld will hold the date time when the
custom fex attribute was last updated.
Elements in JSON Output
ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.

Example JSON Output

Division
{
  "items": [
    {
      "action": null,
      "hierarchyLevel": "DIVISION",
      "division": 1000,
      "divisionName": "Grocery",
      "buyer": 1002,
      "merchantId": "612",
      "totalMarketAmount": null,
      "company": 1,
      "createDateTime": "2020-08-18T08:45:53.000Z",
      "updateDateTime": "2021-07-23T11:34:21.000Z",

"cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Groups { "items": [ { "action": null, "hierarchyLevel": "GROUP", "group": 1841, "groupName": "Smoke Group", "buyer": 1003, "merchantId": "845", "division": 3978, "createDateTime": "2020-08-24T17:06:58.000Z", "updateDateTime": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Department { "items": [ { "action": null, "hierarchyLevel": "DEPARTMENT", "dept": 3061, "deptName": "Cats", "buyer": 610, "purchaseType": 0, "totalMarketAmount": null, "merchantId": "840", "group": 306, "budgetedMarkup": 33.3333, "profitCalcType": 1, "markupCalcType": "C", "otbCalcType": "C", "budgetedIntakePercent": 25, "deptVatIncludeInd": "Y", "createDateTime": "2020-08-18T08:45:53.000Z", "updateDateTime": "2021-07-23T12:01:34.000Z", "customFlexAttribute": null,

"cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Class { "items": [ { "action": null, "hierarchyLevel": "CLASS", "class": 1, "className": "Childrens", "classVatInd": "Y", "dept": 3100, "uniqueClassId": 204, "createDateTime": "2020-08-18T08:45:55.000Z", "updateDateTime": null, "customFlexAttribute": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Subclass { "items": [ { "action": null, "hierarchyLevel": "SUBCLASS", "subclass": 2, "subclassName": "Reels", "class": 3, "dept": 3032, "uniqueSubclassId": 15, "uniqueClassId": 137, "createDateTime": "2020-08-18T08:45:55.000Z", "updateDateTime": "2021-07-23T12:12:17.000Z", "customFlexAttribute": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1,

  "links": null
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_DIVISIONYesNoYesYes
ICL_RMS_GROUPSYesNoYesYes
ICL_RMS_DEPSYesNoYesYes
ICL_RMS_CLASSYesNoYesYes
ICL_RMS_SUBCLASSYesNoYesYes
COMPHEADYesNoNoNo
CODE_DETAILYesNoNoNo
MERCHAPI_EXT_MERCHHIERYesYesYesYes
V_ MERCHAPI_EXT_MERCH_HIER
_JSON
YesNoNoNo
SYSTEM_OPTIONSYesNoNoNo
MERCHAPI_EXT_CLASS_CFAYesYesNoYes
MERCHAPI_EXT_DEPS_CFAYesYesNoYes
MERCHAPI_EXT_SUBCLASS_CFAYesYesNoYes
DEPS_CFA_EXTYesNoNoNo
CLASS_CFA_EXTYesNoNoNo
SUBCLASS_CFA_EXTYesNoNoNo

Division Upload Service

The following services are included in this functional area:

  • Create Division

  • Delete Division

  • Update Division

Create Division

Functional Area

Merchandise Hierarchy

Business Overview

This service may be used to create the division element of the merchandise hierarchy based on an external system if Merchandising is not the system of record for merchandise hierarchy information. When a new division is created, this service will first validate that all the required

fields are present in the request payload. Business level validation on the input information will be performed to:

  • Verify division is not already present

  • Verify if the total market amount is received, then it should be at least 1000.

If both the above validations are met, the division in the message data is created.

Service Type

POST

ReST URL
MerchIntegrations/services/merchandiseHierarchy/division/create
Input Payload Details

Table 5-990 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
divisionYesNumber (4)The unique identifer of the division.
divisionNameYesString (120)The name of the division.
merchandiserNoNumber (4)The number of the merchant
associated with the division. This
value must be predefned on the
MERCHANT table.
buyerNoNumber (4)The number of the buyer associated
with the division. This value must be
predefned on the BUYER table.
totalMarketAmountNoNumber
(24,4)
The total market amount that is
expected for the division. If this feld
is not null it must be at least 1000.
Sample Input Message
{
  "division": 200,
  "divisionName": "Division 200",
  "merchandiser": 612,
  "buyer": 307,
  "totalMarketAmount": 1010
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Delete Division

Functional Area

Merchandise Hierarchy

Business Overview

This service may be used to delete the division element of the merchandise hierarchy based on an external system if Merchandising is not the system of record for merchandise hierarchy information. When a division is deleted, this service will first validate that all required fields are present in the message. Business level validation on the input information will be performed to:

  • Verify the division already exists.

  • Verify the division is not associated to a differentiator group.

  • Verify the division is not associated to a season ID.

  • Verify the division is not associated to a ticket type.

  • Verify the division is not associated to a UDA.

If the information passes the above validations, the division will be deleted in Merchandising. Deletion of a division will get processed immediately upon receipt of the request, assuming that there are no dependent levels below it.

Service Type

DELETE

ReST URL
MerchIntegrations/services/merchandiseHierarchy/division/delete
Input Payload Details

Table 5-991 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
divisionYesNumber (4)The unique identifer of the division.
Sample Input Message
{
  "division": 1000
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Update Division

Functional Area

Merchandise Hierarchy

Business Overview

This service may be used to update the division element of the merchandise hierarchy based on an external system if Merchandising is not the system of record for merchandise hierarchy

information. When a division is updated, this service will first validate that all required fields are present in the request payload. Business level validation on the input information will be performed to:

  • Verify division is present.

  • Verify if the total market amount is received, then it should be at least 1000.

If all the validations are met, the details of the division are updated.

For more details on Division, see the Create Division service description.

Service Type

PUT

ReST URL
MerchIntegrations/services/merchandiseHierarchy/division/update
Input Payload Details

Table 5-992 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
divisionYesNumber (4)The unique identifer of the division.
divisionNameYesString (120)The name of the division.
merchandiserNoNumber (4)The number of the merchant
associated with the division. This
value must be predefned on the
MERCHANT table.
buyerNoNumber (4)The number of the buyer associated
with the division. This value must be
predefned on the BUYER table.
totalMarketAmountNoNumber
(24,4)
The total market amount that is
expected for the division. If this feld
is not null it must be at least 1000.
Sample Input Message
{
  "division": 1000,
  "divisionName": "divName",
  "merchandiser": 1000,
  "buyer": 1000,
  "totalMarketAmount": 3
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Group Download Service

The following services are included in this functional area:

  • Get Group for Provided Group

  • Get Groups

Get Group for Provided Group

Endpoints
MerchIntegrations/services/foundation/merchhier/division/{division}
MerchIntegrations/services/foundation/merchhier/division
MerchIntegrations/services/foundation/merchhier/groups/{group}
MerchIntegrations/services/foundation/merchhier/groups
MerchIntegrations/services/foundation/merchhier/deps/{dept}
MerchIntegrations/services/foundation/merchhier/deps
MerchIntegrations/services/foundation/merchhier/class/{uniqueClassId}
MerchIntegrations/services/foundation/merchhier/class
MerchIntegrations/services/foundation/merchhier/subclass/{uniqueSubclassId}
MerchIntegrations/services/foundation/merchhier/subclass
Functional Area

Merchandise Hierarchy

Business Overview

This service publishes merchandise hierarchy department data to downstream consuming systems. It is the department-level projection of the shared merchandise hierarchy cache and publishes the current department definition together with department name, buyer, purchase type, group, budgeting and markup attributes, inventory-layer identifier type, and department custom flex attributes.

The merch hierarchy publication for the different hierarchy level (Division, Gruops, Department, Class and Subclass) shares the same underlying processing logic and each of the level have its own endpoint. The below technical details covers all the hierarchy levels.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on

how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: DIVISION, GROUPS, DEPS, CLASS, SUBCLASS

Additional business tables: COMPHEAD, DEPS_CFA_EXT, CLASS_CFA_EXT, SUBCLASS_CFA_EXT

JSON cache table: MERCHAPI_EXT_MERCHHIER

JSON generation view: not applicable; this service reads from the shared cache maintained by foundation/merchhier

This service is the department-level child merchapi of the shared foundation/merchhier family.

It publishes only department rows from the shared cache table MERCHAPI_EXT_MERCHHIER, so the source tables, delta drivers, refresh logic, CFA helper handling, batch job, and background-engine controls are the same as the parent merchapi family section above.

Functionally, it is the department-only projection of the current merchandise hierarchy.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_EXT_MERCHHIER_JSON and apply no status filter; publishes current hierarchy rows that exist in the source tables.

Rebuild marks cache rows deleted when the hierarchy key no longer exists in V_MERCHAPI_EXT_MERCHHIER_JSON.

ICL (Integration Change Log) table: ICL_RMS_DIVISION, ICL_RMS_GROUPS, ICL_RMS_DEPS, ICL_RMS_CLASS, ICL_RMS_SUBCLASS (ICL consumer name = MERCHAPI)

This service relies on the shared delta-processing flow used by foundation/merchhier.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_MERCHHIER

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_MERCH_HIER_ADHOC_PROCESS MERCHAPI_EXT_MERCH_HIER_ADHOC_JOB

Webhook configuration api name:

Division: foundation/merchhier/division

Groups: foundation/merchhier/groups

Department: foundation/merchhier/deps

Class: foundation/merchhier/class

Subclass: foundation/merchhier/subclass

Special handling

The parent merchapi configuration name for all the hierarchy level is ‘foundation/merchhier’.

Table 5-993 Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoString (10)Offset key (Hierarchy
ID)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-994 Input Parameter for “MerchIntegrations/services/foundation/merchhier/ deps/{dept}“

Parameter NameRequiredData TypeDescription
deptYesNumber
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)
Service Type

GET

ReST URLs for Division

MerchIntegrations/services/foundation/merchhier/division

MerchIntegrations/services/foundation/merchhier/division/{division}

ReST URLs for Groups

MerchIntegrations/services/foundation/merchhier/groups

MerchIntegrations/services/foundation/merchhier/groups/{group}

ReST URLs for Department

MerchIntegrations/services/foundation/merchhier/deps

MerchIntegrations/services/foundation/merchhier/deps/{dept}

ReST URLs for Class
/MerchIntegrations/services/foundation/merchhier/class?
since={since}&before={before}&offsetkey={offsetkey}&limit={limit}&dept={dept}&
class={class}
/MerchIntegrations/services/foundation/merchhier/class/{uniqueClassId}
ReST URLs for Subclass

MerchIntegrations/services/foundation/merchhier/subclass

MerchIntegrations/services/foundation/merchhier/subclass/{uniqueSubclassId}

Common Input parameters for URLs without path parameter

Parameter NameRequire
d
Data TypeDescription
sinceNoStringSince Date.
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
beforeNoStringBefore Date
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
offsetkeyNoStringOffset Key. Valid Value is combination of
sort_order_seq and node id.
limitNoBigDecima
l
Pagination limit. Default Value is 1000.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input query parameter for /MerchIntegrations/services/foundation/merchhier/class

Parameter NameRequire
d
Data TypeDescription
deptNoNumberIf dept is provided, the service will return
classes which belong to this dept
Parameter NameRequire
d
Data TypeDescription
classNoNumberIf class is provided, the service will return
class(es) matching the input class number.
To query a specifc class, value for both dept
and class should be provided.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input query parameter for /MerchIntegrations/services/foundation/merchhier/subclass

Parameter NameRequire
d
Data TypeDescription
deptNoNumberIf dept is provided, the service will return
subclasses which belong to this dept
classNoNumberIf class is provided, the service will return
subclass(es) whose parent class number
matches the input class number.
subclassNoNumberIf subclass is provided, the service will
return subclass(es) matching the input
subclass number. To query a specifc
subclass, value for dept and class and
subclass should be provided.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/division/{division}

Parameter NameRequire
d
Data TypeDescription
divisionYesNumberThis feld contains the number which
uniquely identifes the division of the
company
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/groups/{group}

Parameter NameRequire
d
Data TypeDescription
groupYesNumberThis feld contains the number which
uniquely identifes the group.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/deps/{dept}

Parameter NameRequire
d
Data TypeDescription
deptYesNumberThis feld contains the number which
uniquely identifes the department.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/class/ {uniqueClassId}

Parameter NameRequire
d
Data TypeDescription
uniqueClassIdYesNumberThis feld contains the number that
uniquely identifes the department/class
combination.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/subclass/ {uniqueSubclassId}

Parameter NameRequire
d
Data TypeDescription
uniqueSubclassIdYesNumberThis feld contains the number that
uniquely identifes the department/class/
subclass combination.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
Parameter NameRequire
d
Data TypeDescription
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)
Output - Division

Table 5-995 PageResultsItemsMerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-996 MerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for division
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
divisionNoNumber(4,0)This feld contains the
number which
uniquely identifes the
division of the
company.
divisionNameNoString (120)This feld contains the
name which, along
with the division
number, identifes the
division of the
company.

Table 5-996 (Cont.) MerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
division.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
division.
totalMarketAmountNoNumber(24,4)This feld contains the
total market amount
that is expected for the
division. The feld can
be used for analytics
or reporting.
companyNoNumber(4,0)This feld contains the
number which
uniquely identifes the
company.
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-997 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL

Table 5-997 (Cont.) LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "hierarchyLevel": null, "division": 1, "divisionName": "divName", "buyer": 1, "merchantId": 1, "totalMarketAmount": 3, "company": 1, "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z", "cacheTimestamp": "2001-12-31T23:59:59.000Z", "cacheCreateTimestamp": "2001-12-31T23:59:59.000Z" } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Output - Groups

Table 5-998 PageResultsItemsMerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records

Table 5-998 (Cont.) PageResultsItemsMerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-999 MerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for group
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
groupNoNumber(4,0)This feld contains the
number which
uniquely identifes the
group.
groupNameNoString (120)This feld contains the
description which,
along with the group
number, identifes the
group.
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
group.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
group.
divisionNoNumber(4,0)This feld contains the
number which
uniquely identifes the
division of the
company.

Table 5-999 (Cont.) MerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1000 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"hierarchyLevel": null,
"group": 1,
"groupName": "groupName",
"buyer": 1,
"merchantId": 1,
"division": 1,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Output - Department

Table 5-1001 PageResultsItemsMerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1002 MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for department
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
deptNoNumber(4,0)This feld contains the
number which
uniquely identifes the
department.

Table 5-1002 (Cont.) MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deptNameNoString (120)This feld contains the
description which
identifes the
department.
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
department.
purchaseTypeNoNumber(1,0)This feld contains a
code which indicates
whether items in this
department are, by
default, owned
(normal) merchandise,
consignment stock, or
concession stock.
totalMarketAmountNoNumber(24,4)This feld contains the
total market amount
that is expected for the
department. The feld
can be used for
analytics or reporting.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
department.
groupNoNumber(4,0)This feld contains the
number of the group
to which the
department belongs.
budgetedMarkupNoNumber(12,4)This feld contains the
budgeted markup
percentage.
proftCalcTypeNoNumber(1,0)This feld contains a
number which
indicates whether
proft will be
calculated by cost or
retail, indicating the
accounting method to
be used for the
department.
markupCalcTypeNoString (2)This feld contains the
code which
determines how
markup is calculated
in this department.

Table 5-1002 (Cont.) MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
otbCalcTypeNoString (1)This feld contains the
code which
determines how OTB is
calculated in this
department.
budgetedIntakePercen
t
NoNumber(12,4)This feld contains the
budgeted intake
percentage.
deptVatIncludeIndNoString (1)This feld indicates the
default value for the
class VAT indicator.
When classes are
initially set up they
inherit this value.
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
customFlexAttributeNoCollection of ObjectThis list holds custom
fex attributes for the
department.
inventoryLayerIdentif
erType
NoString (6)This feld holds the
inventory layer
identifer type at the
department level.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1003 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.

Table 5-1003 (Cont.) CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-1004 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"hierarchyLevel": null,
"dept": 3041,
"deptName": "deptName",
"buyer": 1,
"purchaseType": 1,
"totalMarketAmount": 3,
"merchantId": 1,
"group": 1,
"budgetedMarkup": 3,
"profitCalcType": 1,
"markupCalcType": null,
"otbCalcType": null,
"budgetedIntakePercent": 3,
"deptVatIncludeInd": "Y",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"inventoryLayerIdentifierType": null,
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Output - Class
NameData TypeDescription
actionStringAction for class details. Valid values are INSERT,
UPDATE and DELETE.
hierarchylevelStringThis feld contains the Merchandising
Hierarchy Level.
classNumberContains the number which uniquely identifes
the class within the department.
classNameStringThis feld contains the name of the class which,
along with the class number, identifes the
class.
classVATIndStringThis feld is no longer used by Merchandising
and will always default to N.
deptNumberThis feld contains the number of the
department of which the class is a member.
uniqueClassIdNumberThis feld contains the number that uniquely
identifes the department/class combination.
This column is populated by the system and not
displayed to end users. This will be used for
integration to downstream systems as many
downstream systems are unable to
accommodate the composite dept/class key in
their hierarchy and item structures.
NameData TypeDescription
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record was
last updated.
customFlexAttributesThis list holds custom fex attributes for the
Department.
cacheTimestampStringThis feld specifes date and time when Merch
Hier record was last maintained.
inventoryLayerIdentiferTypeStringThis feld holds type of identifer that will be
used across systems to manage and identify
inventory layers at class level.

Output - Subclass

Table 5-1005 PageResultsItemsMerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1006 MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for subclass
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
subclassNoNumber(4,0)This feld contains the
number which
uniquely identifes the
subclass within the
department and class.

Table 5-1006 (Cont.) MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
subclassNameNoString (120)This feld contains the
name of the subclass
which, along with the
subclass number,
uniquely identifes the
subclass.
classNoNumber(4,0)This feld contains the
number which
uniquely identifes the
class within the
department.
deptNoNumber(4,0)This feld contains the
number of the
department of which
the subclass is a
member.
uniqueSubclassIdNoNumber(10,0)This feld contains the
number that uniquely
identifes the
department/class/
subclass combination.
This column is
populated by the
system and not
displayed to end users.
This will be used for
integration to
downstream systems
as many downstream
systems are unable to
accommodate the
composite dept/class/
subclass key in their
hierarchy and item
structures.
uniqueClassIdNoNumber(10,0)This feld contains the
number that uniquely
identifes the
department/class
combination. This
column is populated
by the system and not
displayed to end users.
This will be used for
integration to
downstream systems
as many downstream
systems are unable to
accommodate the
composite dept/class
key in their hierarchy
and item structures.

Table 5-1006 (Cont.) MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
customFlexAttributeNoCollection of ObjectThis list holds custom
fex attributes for the
subclass in
merchandise
hierarchy.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1007 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-1008 LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description href No String Service URL rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "hierarchyLevel": null, "subclass": 1, "subclassName": "subclassName", "class": 1, "dept": 3041, "uniqueSubclassId": 1, "uniqueClassId": 1, "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z", "customFlexAttribute": [ { "name": "attribute1", "value": "value1", "valueDate": "2001-12-31", "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z" } ], "cacheTimestamp": "2001-12-31T23:59:59.000Z", "cacheCreateTimestamp": "2001-12-31T23:59:59.000Z" } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Output – Custom Flex Attribute
NameData TypeDescription
nameStringThis feld will hold the custom fex attribute
name.
valueStringThis feld will hold the numeric or string value
of the custom fex attribute.
valueDateStringThis feld will hold the date value of the custom
fex attribute.
createDateTimeStringThis feld will hold the date time when the
custom fex attribute was inserted.
updateDateTimeStringThis feld will hold the date time when the
custom fex attribute was last updated.
Elements in JSON Output
ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.

Example JSON Output

Division
{
  "items": [
    {
      "action": null,
      "hierarchyLevel": "DIVISION",
      "division": 1000,
      "divisionName": "Grocery",
      "buyer": 1002,
      "merchantId": "612",
      "totalMarketAmount": null,
      "company": 1,
      "createDateTime": "2020-08-18T08:45:53.000Z",
      "updateDateTime": "2021-07-23T11:34:21.000Z",

"cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Groups { "items": [ { "action": null, "hierarchyLevel": "GROUP", "group": 1841, "groupName": "Smoke Group", "buyer": 1003, "merchantId": "845", "division": 3978, "createDateTime": "2020-08-24T17:06:58.000Z", "updateDateTime": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Department { "items": [ { "action": null, "hierarchyLevel": "DEPARTMENT", "dept": 3061, "deptName": "Cats", "buyer": 610, "purchaseType": 0, "totalMarketAmount": null, "merchantId": "840", "group": 306, "budgetedMarkup": 33.3333, "profitCalcType": 1, "markupCalcType": "C", "otbCalcType": "C", "budgetedIntakePercent": 25, "deptVatIncludeInd": "Y", "createDateTime": "2020-08-18T08:45:53.000Z", "updateDateTime": "2021-07-23T12:01:34.000Z", "customFlexAttribute": null,

"cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Class { "items": [ { "action": null, "hierarchyLevel": "CLASS", "class": 1, "className": "Childrens", "classVatInd": "Y", "dept": 3100, "uniqueClassId": 204, "createDateTime": "2020-08-18T08:45:55.000Z", "updateDateTime": null, "customFlexAttribute": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Subclass { "items": [ { "action": null, "hierarchyLevel": "SUBCLASS", "subclass": 2, "subclassName": "Reels", "class": 3, "dept": 3032, "uniqueSubclassId": 15, "uniqueClassId": 137, "createDateTime": "2020-08-18T08:45:55.000Z", "updateDateTime": "2021-07-23T12:12:17.000Z", "customFlexAttribute": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1,

  "links": null
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_DIVISIONYesNoYesYes
ICL_RMS_GROUPSYesNoYesYes
ICL_RMS_DEPSYesNoYesYes
ICL_RMS_CLASSYesNoYesYes
ICL_RMS_SUBCLASSYesNoYesYes
COMPHEADYesNoNoNo
CODE_DETAILYesNoNoNo
MERCHAPI_EXT_MERCHHIERYesYesYesYes
V_ MERCHAPI_EXT_MERCH_HIER
_JSON
YesNoNoNo
SYSTEM_OPTIONSYesNoNoNo
MERCHAPI_EXT_CLASS_CFAYesYesNoYes
MERCHAPI_EXT_DEPS_CFAYesYesNoYes
MERCHAPI_EXT_SUBCLASS_CFAYesYesNoYes
DEPS_CFA_EXTYesNoNoNo
CLASS_CFA_EXTYesNoNoNo
SUBCLASS_CFA_EXTYesNoNoNo

Get Groups

Endpoints
MerchIntegrations/services/foundation/merchhier/division/{division}
MerchIntegrations/services/foundation/merchhier/division
MerchIntegrations/services/foundation/merchhier/groups/{group}
MerchIntegrations/services/foundation/merchhier/groups
MerchIntegrations/services/foundation/merchhier/deps/{dept}
MerchIntegrations/services/foundation/merchhier/deps
MerchIntegrations/services/foundation/merchhier/class/{uniqueClassId}
MerchIntegrations/services/foundation/merchhier/class
MerchIntegrations/services/foundation/merchhier/subclass/{uniqueSubclassId}
MerchIntegrations/services/foundation/merchhier/subclass
Functional Area
Merchandise Hierarchy
Business Overview

This service publishes merchandise hierarchy department data to downstream consuming systems. It is the department-level projection of the shared merchandise hierarchy cache and publishes the current department definition together with department name, buyer, purchase type, group, budgeting and markup attributes, inventory-layer identifier type, and department custom flex attributes.

The merch hierarchy publication for the different hierarchy level (Division, Gruops, Department, Class and Subclass) shares the same underlying processing logic and each of the level have its own endpoint. The below technical details covers all the hierarchy levels.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on

how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: DIVISION, GROUPS, DEPS, CLASS, SUBCLASS

Additional business tables: COMPHEAD, DEPS_CFA_EXT, CLASS_CFA_EXT, SUBCLASS_CFA_EXT

JSON cache table: MERCHAPI_EXT_MERCHHIER

JSON generation view: not applicable; this service reads from the shared cache maintained by foundation/merchhier

This service is the department-level child merchapi of the shared foundation/merchhier family.

It publishes only department rows from the shared cache table MERCHAPI_EXT_MERCHHIER, so the source tables, delta drivers, refresh logic, CFA helper handling, batch job, and background-engine controls are the same as the parent merchapi family section above.

Functionally, it is the department-only projection of the current merchandise hierarchy.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_EXT_MERCHHIER_JSON and apply no status filter; publishes current hierarchy rows that exist in the source tables.

Rebuild marks cache rows deleted when the hierarchy key no longer exists in V_MERCHAPI_EXT_MERCHHIER_JSON.

ICL (Integration Change Log) table: ICL_RMS_DIVISION, ICL_RMS_GROUPS, ICL_RMS_DEPS, ICL_RMS_CLASS, ICL_RMS_SUBCLASS (ICL consumer name = MERCHAPI)

This service relies on the shared delta-processing flow used by foundation/merchhier.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_MERCHHIER

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_MERCH_HIER_ADHOC_PROCESS MERCHAPI_EXT_MERCH_HIER_ADHOC_JOB

Webhook configuration api name:

Division: foundation/merchhier/division

Groups: foundation/merchhier/groups

Department: foundation/merchhier/deps

Class: foundation/merchhier/class

Subclass: foundation/merchhier/subclass

Special handling

The parent merchapi configuration name for all the hierarchy level is ‘foundation/merchhier’.

Table 5-1009 Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoString (10)Offset key (Hierarchy
ID)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-1010 Input Parameter for “MerchIntegrations/services/foundation/merchhier/ deps/{dept}“

Parameter NameRequiredData TypeDescription
deptYesNumber
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)
Service Type

GET

ReST URLs for Division

MerchIntegrations/services/foundation/merchhier/division

MerchIntegrations/services/foundation/merchhier/division/{division}

ReST URLs for Groups

MerchIntegrations/services/foundation/merchhier/groups

MerchIntegrations/services/foundation/merchhier/groups/{group}

ReST URLs for Department

MerchIntegrations/services/foundation/merchhier/deps

MerchIntegrations/services/foundation/merchhier/deps/{dept}

ReST URLs for Class
/MerchIntegrations/services/foundation/merchhier/class?
since={since}&before={before}&offsetkey={offsetkey}&limit={limit}&dept={dept}&
class={class}
/MerchIntegrations/services/foundation/merchhier/class/{uniqueClassId}
ReST URLs for Subclass

MerchIntegrations/services/foundation/merchhier/subclass

MerchIntegrations/services/foundation/merchhier/subclass/{uniqueSubclassId}

Common Input parameters for URLs without path parameter

Parameter NameRequire
d
Data TypeDescription
sinceNoStringSince Date.
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
beforeNoStringBefore Date
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
offsetkeyNoStringOffset Key. Valid Value is combination of
sort_order_seq and node id.
limitNoBigDecima
l
Pagination limit. Default Value is 1000.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input query parameter for /MerchIntegrations/services/foundation/merchhier/class

Parameter NameRequire
d
Data TypeDescription
deptNoNumberIf dept is provided, the service will return
classes which belong to this dept
Parameter NameRequire
d
Data TypeDescription
classNoNumberIf class is provided, the service will return
class(es) matching the input class number.
To query a specifc class, value for both dept
and class should be provided.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input query parameter for /MerchIntegrations/services/foundation/merchhier/subclass

Parameter NameRequire
d
Data TypeDescription
deptNoNumberIf dept is provided, the service will return
subclasses which belong to this dept
classNoNumberIf class is provided, the service will return
subclass(es) whose parent class number
matches the input class number.
subclassNoNumberIf subclass is provided, the service will
return subclass(es) matching the input
subclass number. To query a specifc
subclass, value for dept and class and
subclass should be provided.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/division/{division}

Parameter NameRequire
d
Data TypeDescription
divisionYesNumberThis feld contains the number which
uniquely identifes the division of the
company
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/groups/{group}

Parameter NameRequire
d
Data TypeDescription
groupYesNumberThis feld contains the number which
uniquely identifes the group.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/deps/{dept}

Parameter NameRequire
d
Data TypeDescription
deptYesNumberThis feld contains the number which
uniquely identifes the department.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/class/ {uniqueClassId}

Parameter NameRequire
d
Data TypeDescription
uniqueClassIdYesNumberThis feld contains the number that
uniquely identifes the department/class
combination.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/subclass/ {uniqueSubclassId}

Parameter NameRequire
d
Data TypeDescription
uniqueSubclassIdYesNumberThis feld contains the number that
uniquely identifes the department/class/
subclass combination.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
Parameter NameRequire
d
Data TypeDescription
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)
Output - Division

Table 5-1011 PageResultsItemsMerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1012 MerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for division
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
divisionNoNumber(4,0)This feld contains the
number which
uniquely identifes the
division of the
company.
divisionNameNoString (120)This feld contains the
name which, along
with the division
number, identifes the
division of the
company.

Table 5-1012 (Cont.) MerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
division.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
division.
totalMarketAmountNoNumber(24,4)This feld contains the
total market amount
that is expected for the
division. The feld can
be used for analytics
or reporting.
companyNoNumber(4,0)This feld contains the
number which
uniquely identifes the
company.
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1013 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL

Table 5-1013 (Cont.) LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "hierarchyLevel": null, "division": 1, "divisionName": "divName", "buyer": 1, "merchantId": 1, "totalMarketAmount": 3, "company": 1, "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z", "cacheTimestamp": "2001-12-31T23:59:59.000Z", "cacheCreateTimestamp": "2001-12-31T23:59:59.000Z" } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Output - Groups

Table 5-1014 PageResultsItemsMerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records

Table 5-1014 (Cont.) PageResultsItemsMerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1015 MerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for group
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
groupNoNumber(4,0)This feld contains the
number which
uniquely identifes the
group.
groupNameNoString (120)This feld contains the
description which,
along with the group
number, identifes the
group.
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
group.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
group.
divisionNoNumber(4,0)This feld contains the
number which
uniquely identifes the
division of the
company.

Table 5-1015 (Cont.) MerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1016 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"hierarchyLevel": null,
"group": 1,
"groupName": "groupName",
"buyer": 1,
"merchantId": 1,
"division": 1,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Output - Department

Table 5-1017 PageResultsItemsMerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1018 MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for department
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
deptNoNumber(4,0)This feld contains the
number which
uniquely identifes the
department.

Table 5-1018 (Cont.) MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deptNameNoString (120)This feld contains the
description which
identifes the
department.
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
department.
purchaseTypeNoNumber(1,0)This feld contains a
code which indicates
whether items in this
department are, by
default, owned
(normal) merchandise,
consignment stock, or
concession stock.
totalMarketAmountNoNumber(24,4)This feld contains the
total market amount
that is expected for the
department. The feld
can be used for
analytics or reporting.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
department.
groupNoNumber(4,0)This feld contains the
number of the group
to which the
department belongs.
budgetedMarkupNoNumber(12,4)This feld contains the
budgeted markup
percentage.
proftCalcTypeNoNumber(1,0)This feld contains a
number which
indicates whether
proft will be
calculated by cost or
retail, indicating the
accounting method to
be used for the
department.
markupCalcTypeNoString (2)This feld contains the
code which
determines how
markup is calculated
in this department.

Table 5-1018 (Cont.) MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
otbCalcTypeNoString (1)This feld contains the
code which
determines how OTB is
calculated in this
department.
budgetedIntakePercen
t
NoNumber(12,4)This feld contains the
budgeted intake
percentage.
deptVatIncludeIndNoString (1)This feld indicates the
default value for the
class VAT indicator.
When classes are
initially set up they
inherit this value.
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
customFlexAttributeNoCollection of ObjectThis list holds custom
fex attributes for the
department.
inventoryLayerIdentif
erType
NoString (6)This feld holds the
inventory layer
identifer type at the
department level.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1019 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.

Table 5-1019 (Cont.) CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-1020 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"hierarchyLevel": null,
"dept": 3041,
"deptName": "deptName",
"buyer": 1,
"purchaseType": 1,
"totalMarketAmount": 3,
"merchantId": 1,
"group": 1,
"budgetedMarkup": 3,
"profitCalcType": 1,
"markupCalcType": null,
"otbCalcType": null,
"budgetedIntakePercent": 3,
"deptVatIncludeInd": "Y",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"inventoryLayerIdentifierType": null,
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Output - Class
NameData TypeDescription
actionStringAction for class details. Valid values are INSERT,
UPDATE and DELETE.
hierarchylevelStringThis feld contains the Merchandising
Hierarchy Level.
classNumberContains the number which uniquely identifes
the class within the department.
classNameStringThis feld contains the name of the class which,
along with the class number, identifes the
class.
classVATIndStringThis feld is no longer used by Merchandising
and will always default to N.
deptNumberThis feld contains the number of the
department of which the class is a member.
uniqueClassIdNumberThis feld contains the number that uniquely
identifes the department/class combination.
This column is populated by the system and not
displayed to end users. This will be used for
integration to downstream systems as many
downstream systems are unable to
accommodate the composite dept/class key in
their hierarchy and item structures.
NameData TypeDescription
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record was
last updated.
customFlexAttributesThis list holds custom fex attributes for the
Department.
cacheTimestampStringThis feld specifes date and time when Merch
Hier record was last maintained.
inventoryLayerIdentiferTypeStringThis feld holds type of identifer that will be
used across systems to manage and identify
inventory layers at class level.

Output - Subclass

Table 5-1021 PageResultsItemsMerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1022 MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for subclass
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
subclassNoNumber(4,0)This feld contains the
number which
uniquely identifes the
subclass within the
department and class.

Table 5-1022 (Cont.) MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
subclassNameNoString (120)This feld contains the
name of the subclass
which, along with the
subclass number,
uniquely identifes the
subclass.
classNoNumber(4,0)This feld contains the
number which
uniquely identifes the
class within the
department.
deptNoNumber(4,0)This feld contains the
number of the
department of which
the subclass is a
member.
uniqueSubclassIdNoNumber(10,0)This feld contains the
number that uniquely
identifes the
department/class/
subclass combination.
This column is
populated by the
system and not
displayed to end users.
This will be used for
integration to
downstream systems
as many downstream
systems are unable to
accommodate the
composite dept/class/
subclass key in their
hierarchy and item
structures.
uniqueClassIdNoNumber(10,0)This feld contains the
number that uniquely
identifes the
department/class
combination. This
column is populated
by the system and not
displayed to end users.
This will be used for
integration to
downstream systems
as many downstream
systems are unable to
accommodate the
composite dept/class
key in their hierarchy
and item structures.

Table 5-1022 (Cont.) MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
customFlexAttributeNoCollection of ObjectThis list holds custom
fex attributes for the
subclass in
merchandise
hierarchy.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1023 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-1024 LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description href No String Service URL rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "hierarchyLevel": null, "subclass": 1, "subclassName": "subclassName", "class": 1, "dept": 3041, "uniqueSubclassId": 1, "uniqueClassId": 1, "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z", "customFlexAttribute": [ { "name": "attribute1", "value": "value1", "valueDate": "2001-12-31", "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z" } ], "cacheTimestamp": "2001-12-31T23:59:59.000Z", "cacheCreateTimestamp": "2001-12-31T23:59:59.000Z" } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Output – Custom Flex Attribute
NameData TypeDescription
nameStringThis feld will hold the custom fex attribute
name.
valueStringThis feld will hold the numeric or string value
of the custom fex attribute.
valueDateStringThis feld will hold the date value of the custom
fex attribute.
createDateTimeStringThis feld will hold the date time when the
custom fex attribute was inserted.
updateDateTimeStringThis feld will hold the date time when the
custom fex attribute was last updated.
Elements in JSON Output
ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.

Example JSON Output

Division
{
  "items": [
    {
      "action": null,
      "hierarchyLevel": "DIVISION",
      "division": 1000,
      "divisionName": "Grocery",
      "buyer": 1002,
      "merchantId": "612",
      "totalMarketAmount": null,
      "company": 1,
      "createDateTime": "2020-08-18T08:45:53.000Z",
      "updateDateTime": "2021-07-23T11:34:21.000Z",

"cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Groups { "items": [ { "action": null, "hierarchyLevel": "GROUP", "group": 1841, "groupName": "Smoke Group", "buyer": 1003, "merchantId": "845", "division": 3978, "createDateTime": "2020-08-24T17:06:58.000Z", "updateDateTime": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Department { "items": [ { "action": null, "hierarchyLevel": "DEPARTMENT", "dept": 3061, "deptName": "Cats", "buyer": 610, "purchaseType": 0, "totalMarketAmount": null, "merchantId": "840", "group": 306, "budgetedMarkup": 33.3333, "profitCalcType": 1, "markupCalcType": "C", "otbCalcType": "C", "budgetedIntakePercent": 25, "deptVatIncludeInd": "Y", "createDateTime": "2020-08-18T08:45:53.000Z", "updateDateTime": "2021-07-23T12:01:34.000Z", "customFlexAttribute": null,

"cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Class { "items": [ { "action": null, "hierarchyLevel": "CLASS", "class": 1, "className": "Childrens", "classVatInd": "Y", "dept": 3100, "uniqueClassId": 204, "createDateTime": "2020-08-18T08:45:55.000Z", "updateDateTime": null, "customFlexAttribute": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Subclass { "items": [ { "action": null, "hierarchyLevel": "SUBCLASS", "subclass": 2, "subclassName": "Reels", "class": 3, "dept": 3032, "uniqueSubclassId": 15, "uniqueClassId": 137, "createDateTime": "2020-08-18T08:45:55.000Z", "updateDateTime": "2021-07-23T12:12:17.000Z", "customFlexAttribute": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1,

  "links": null
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_DIVISIONYesNoYesYes
ICL_RMS_GROUPSYesNoYesYes
ICL_RMS_DEPSYesNoYesYes
ICL_RMS_CLASSYesNoYesYes
ICL_RMS_SUBCLASSYesNoYesYes
COMPHEADYesNoNoNo
CODE_DETAILYesNoNoNo
MERCHAPI_EXT_MERCHHIERYesYesYesYes
V_ MERCHAPI_EXT_MERCH_HIER
_JSON
YesNoNoNo
SYSTEM_OPTIONSYesNoNoNo
MERCHAPI_EXT_CLASS_CFAYesYesNoYes
MERCHAPI_EXT_DEPS_CFAYesYesNoYes
MERCHAPI_EXT_SUBCLASS_CFAYesYesNoYes
DEPS_CFA_EXTYesNoNoNo
CLASS_CFA_EXTYesNoNoNo
SUBCLASS_CFA_EXTYesNoNoNo

Group Upload Service

The following services are included in this functional area:

  • Create Group

  • Delete Group

  • Update Group

Create Group

Functional Area

Merchandise Hierarchy

Business Overview

This service may be used to create the group element of the merchandise hierarchy based on an external system if Merchandising is not the system of record for merchandise hierarchy information.

When a new group is created, this service will first validate that all the required fields are present in the request payload. Business level validation on the input information will be performed, which checks whether the group already exists. If it does not exist, the group is created.

Service Type

POST

ReST URL
MerchIntegrations/services/merchandiseHierarchy/group/create
Input Payload Details

Table 5-1025 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
groupNoYesNumber (4)The number which uniquely
identifes the group. This feld cannot
be modifed.
groupNameYesString (120)Description is not available.
divisionYesNumber (4)The identifer of the division of which
the group is a member. This value
must be predefned on the DIVISION
table.
merchandiserNoNumber (4)The number of the merchandiser
associated to the group. This value
must be predefned on the
MERCHANT table.
buyerNoNumber (4)The number of the buyer associated
to the group. This value must be
predefned on the BUYER table.
Sample Input Message
{
  "groupNo": 1000,
  "groupName": "groupName",
  "division": 1000,
  "merchandiser": 1000,
  "buyer": 1000
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Delete Group

Functional Area
Merchandise Hierarchy
Business Overview

This service may be used to delete the group element of the merchandise hierarchy based on an external system if Merchandising is not the system of record for merchandise hierarchy information. When a group is deleted, this service will first validate that all required fields are present in the request payload. Business level validation on the input information will be performed to:

  • Verify the group already exists.

  • Verify the group is not associated to a differentiator group.

  • Verify the group is not associated to a season ID

  • Verify the group is not associated to a ticket type.

  • Verify the group is not associated to a UDA.

If the information passes the above validations, the group will be deleted from Merchandising. Deletion of a group will get processed immediately upon receipt of the request, assuming that there are no dependent levels below it.

Service Type
DELETE
ReST URL
MerchIntegrations/services/merchandiseHierarchy/group/delete
Input Payload Details

Table 5-1026 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
groupNoYesNumber (4)Description is not available.
Sample Input Message
{
  "groupNo": 1000
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Update Group

Functional Area

Merchandise Hierarchy

Business Overview

This service may be used to update the group element of the merchandise hierarchy based on an external system if Merchandising is not the system of record for merchandise hierarchy

information. When a group is updated, this service will first validate that all required fields are present in the request payload. Business level validation on the input information will be performed to verify whether the group to be updated already exists. If group already exists, the details of the group are updated.

For more details on Group, see the Create Group service description.

Service Type

PUT

ReST URL
MerchIntegrations/services/merchandiseHierarchy/group/update
Input Payload Details

Table 5-1027 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
groupNoYesNumber (4)The number which uniquely
identifes the group. This feld cannot
be modifed.
groupNameYesString (120)Description is not available.
divisionYesNumber (4)The identifer of the division of which
the group is a member. This value
must be predefned on the DIVISION
table.
merchandiserNoNumber (4)The number of the merchandiser
associated to the group. This value
must be predefned on the
MERCHANT table.
buyerNoNumber (4)The number of the buyer associated
to the group. This value must be
predefned on the BUYER table.
Sample Input Message
{
  "groupNo": 1000,
  "groupName": "groupName",
  "division": 1000,
  "merchandiser": 1000,
  "buyer": 1000
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Merchandise Hierarchy Download Service

The following services are included in this functional area:

• Get Merchandise Hierarchy

Get Merchandise Hierarchy

This section describes the MerchHierarchy Detail service.

Business Overview

MerchHierarchyDetail service allows user to retrieve full merchandising hierarchy information for the input Department.

Service Type

Get

ReST URL
/MerchHierarchy/merchHierarchy
Input Parameters
Department ID
Output
RestMerchHierarchyRecRDO
Parameter NameData Type
profitCalcTypeBigDecimal
deptVatInclIndString
classAttributeBigDecimal
divisionBigDecimal
classVatIndString
subclassBigDecimal
buyerBigDecimal
deptBigDecimal
classNameString
subNameString
groupNoBigDecimal
otbCalcTypeString
groupNameString
divNameString
purchaseTypeBigDecimal
merchBigDecimal
deptNameString
JSON Structure
  {
    "profitCalcType": null,
    "deptVatInclInd": null,
    "classAttribute": null,
    "division": null,
    "classVatInd": null,
    "subclass": null,
    "buyer": null,
    "dept": null,
    "className": null,
    "subName": null,
    "groupNo": null,
    "otbCalcType": null,
    "groupName": null,
    "divName": null,
    "purchaseType": null,
    "merch": null,
    "deptName": null,
    "links": [],
    "hyperMediaContent": {
      "linkRDO": []
    }
  }
Table Impact
TABLESELECTINSERTUPDATEDELETE
V_MERCH_HIERARCHYYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Subclass Download Service

The following services are included in this functional area:

  • Get Subclass Details for Provided Subclass

  • Get Subclasses

Get Subclass Details for Provided Subclass

Endpoints
MerchIntegrations/services/foundation/merchhier/division/{division}
MerchIntegrations/services/foundation/merchhier/division
MerchIntegrations/services/foundation/merchhier/groups/{group}
MerchIntegrations/services/foundation/merchhier/groups
MerchIntegrations/services/foundation/merchhier/deps/{dept}
MerchIntegrations/services/foundation/merchhier/deps
MerchIntegrations/services/foundation/merchhier/class/{uniqueClassId}
MerchIntegrations/services/foundation/merchhier/class
MerchIntegrations/services/foundation/merchhier/subclass/{uniqueSubclassId}
MerchIntegrations/services/foundation/merchhier/subclass
Functional Area
Merchandise Hierarchy
Business Overview

This service publishes merchandise hierarchy department data to downstream consuming systems. It is the department-level projection of the shared merchandise hierarchy cache and publishes the current department definition together with department name, buyer, purchase type, group, budgeting and markup attributes, inventory-layer identifier type, and department custom flex attributes.

The merch hierarchy publication for the different hierarchy level (Division, Gruops, Department, Class and Subclass) shares the same underlying processing logic and each of the level have its own endpoint. The below technical details covers all the hierarchy levels.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: DIVISION, GROUPS, DEPS, CLASS, SUBCLASS

Additional business tables: COMPHEAD, DEPS_CFA_EXT, CLASS_CFA_EXT, SUBCLASS_CFA_EXT

JSON cache table: MERCHAPI_EXT_MERCHHIER

JSON generation view: not applicable; this service reads from the shared cache maintained by foundation/merchhier

This service is the department-level child merchapi of the shared foundation/merchhier family.

It publishes only department rows from the shared cache table MERCHAPI_EXT_MERCHHIER, so the source tables, delta drivers, refresh logic, CFA helper handling, batch job, and background-engine controls are the same as the parent merchapi family section above.

Functionally, it is the department-only projection of the current merchandise hierarchy.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_EXT_MERCHHIER_JSON and apply no status filter; publishes current hierarchy rows that exist in the source tables.

Rebuild marks cache rows deleted when the hierarchy key no longer exists in V_MERCHAPI_EXT_MERCHHIER_JSON.

ICL (Integration Change Log) table: ICL_RMS_DIVISION, ICL_RMS_GROUPS, ICL_RMS_DEPS, ICL_RMS_CLASS, ICL_RMS_SUBCLASS (ICL consumer name = MERCHAPI)

This service relies on the shared delta-processing flow used by foundation/merchhier.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_MERCHHIER

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_MERCH_HIER_ADHOC_PROCESS MERCHAPI_EXT_MERCH_HIER_ADHOC_JOB

Webhook configuration api name:

Division: foundation/merchhier/division

Groups: foundation/merchhier/groups

Department: foundation/merchhier/deps

Class: foundation/merchhier/class

Subclass: foundation/merchhier/subclass

Special handling

The parent merchapi configuration name for all the hierarchy level is ‘foundation/merchhier’.

Table 5-1028 Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoString (10)Offset key (Hierarchy
ID)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-1029 Input Parameter for “MerchIntegrations/services/foundation/merchhier/ deps/{dept}“

Parameter NameRequiredData TypeDescription
deptYesNumber
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)
Service Type

GET

ReST URLs for Division

MerchIntegrations/services/foundation/merchhier/division

MerchIntegrations/services/foundation/merchhier/division/{division}

ReST URLs for Groups

MerchIntegrations/services/foundation/merchhier/groups

MerchIntegrations/services/foundation/merchhier/groups/{group}

ReST URLs for Department

MerchIntegrations/services/foundation/merchhier/deps

MerchIntegrations/services/foundation/merchhier/deps/{dept}

ReST URLs for Class
/MerchIntegrations/services/foundation/merchhier/class?
since={since}&before={before}&offsetkey={offsetkey}&limit={limit}&dept={dept}&
class={class}
/MerchIntegrations/services/foundation/merchhier/class/{uniqueClassId}
ReST URLs for Subclass

MerchIntegrations/services/foundation/merchhier/subclass

MerchIntegrations/services/foundation/merchhier/subclass/{uniqueSubclassId}

Common Input parameters for URLs without path parameter

Parameter NameRequire
d
Data TypeDescription
sinceNoStringSince Date.
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
beforeNoStringBefore Date
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
offsetkeyNoStringOffset Key. Valid Value is combination of
sort_order_seq and node id.
limitNoBigDecima
l
Pagination limit. Default Value is 1000.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input query parameter for /MerchIntegrations/services/foundation/merchhier/class

Parameter NameRequire
d
Data TypeDescription
deptNoNumberIf dept is provided, the service will return
classes which belong to this dept
classNoNumberIf class is provided, the service will return
class(es) matching the input class number.
To query a specifc class, value for both dept
and class should be provided.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input query parameter for /MerchIntegrations/services/foundation/merchhier/subclass

Parameter NameRequire
d
Data TypeDescription
deptNoNumberIf dept is provided, the service will return
subclasses which belong to this dept
classNoNumberIf class is provided, the service will return
subclass(es) whose parent class number
matches the input class number.
subclassNoNumberIf subclass is provided, the service will
return subclass(es) matching the input
subclass number. To query a specifc
subclass, value for dept and class and
subclass should be provided.
Parameter NameRequire
d
Data TypeDescription
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/division/{division}

Parameter NameRequire
d
Data TypeDescription
divisionYesNumberThis feld contains the number which
uniquely identifes the division of the
company
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/groups/{group}

Parameter NameRequire
d
Data TypeDescription
groupYesNumberThis feld contains the number which
uniquely identifes the group.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/deps/{dept}

Parameter NameRequire
d
Data TypeDescription
deptYesNumberThis feld contains the number which
uniquely identifes the department.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/class/ {uniqueClassId}

Parameter NameRequire
d
Data TypeDescription
uniqueClassIdYesNumberThis feld contains the number that
uniquely identifes the department/class
combination.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/subclass/ {uniqueSubclassId}

Parameter NameRequire
d
Data TypeDescription
uniqueSubclassIdYesNumberThis feld contains the number that
uniquely identifes the department/class/
subclass combination.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Output - Division

Table 5-1030 PageResultsItemsMerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch

Table 5-1030 (Cont.) PageResultsItemsMerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1031 MerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for division
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
divisionNoNumber(4,0)This feld contains the
number which
uniquely identifes the
division of the
company.
divisionNameNoString (120)This feld contains the
name which, along
with the division
number, identifes the
division of the
company.
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
division.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
division.
totalMarketAmountNoNumber(24,4)This feld contains the
total market amount
that is expected for the
division. The feld can
be used for analytics
or reporting.
companyNoNumber(4,0)This feld contains the
number which
uniquely identifes the
company.
createDateTimeNodateTimeThis feld holds the
record creation date
and time.

Table 5-1031 (Cont.) MerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1032 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"hierarchyLevel": null,
"division": 1,
"divisionName": "divName",
"buyer": 1,
"merchantId": 1,
"totalMarketAmount": 3,
"company": 1,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}

Output - Groups

Table 5-1033 PageResultsItemsMerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1034 MerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for group
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
groupNoNumber(4,0)This feld contains the
number which
uniquely identifes the
group.

Table 5-1034 (Cont.) MerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
groupNameNoString (120)This feld contains the
description which,
along with the group
number, identifes the
group.
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
group.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
group.
divisionNoNumber(4,0)This feld contains the
number which
uniquely identifes the
division of the
company.
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1035 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL

Table 5-1035 (Cont.) LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "hierarchyLevel": null, "group": 1, "groupName": "groupName", "buyer": 1, "merchantId": 1, "division": 1, "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z", "cacheTimestamp": "2001-12-31T23:59:59.000Z", "cacheCreateTimestamp": "2001-12-31T23:59:59.000Z" } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Output - Department

Table 5-1036 PageResultsItemsMerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records

Table 5-1036 (Cont.) PageResultsItemsMerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1037 MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for department
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
deptNoNumber(4,0)This feld contains the
number which
uniquely identifes the
department.
deptNameNoString (120)This feld contains the
description which
identifes the
department.
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
department.
purchaseTypeNoNumber(1,0)This feld contains a
code which indicates
whether items in this
department are, by
default, owned
(normal) merchandise,
consignment stock, or
concession stock.

Table 5-1037 (Cont.) MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
totalMarketAmountNoNumber(24,4)This feld contains the
total market amount
that is expected for the
department. The feld
can be used for
analytics or reporting.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
department.
groupNoNumber(4,0)This feld contains the
number of the group
to which the
department belongs.
budgetedMarkupNoNumber(12,4)This feld contains the
budgeted markup
percentage.
proftCalcTypeNoNumber(1,0)This feld contains a
number which
indicates whether
proft will be
calculated by cost or
retail, indicating the
accounting method to
be used for the
department.
markupCalcTypeNoString (2)This feld contains the
code which
determines how
markup is calculated
in this department.
otbCalcTypeNoString (1)This feld contains the
code which
determines how OTB is
calculated in this
department.
budgetedIntakePercen
t
NoNumber(12,4)This feld contains the
budgeted intake
percentage.
deptVatIncludeIndNoString (1)This feld indicates the
default value for the
class VAT indicator.
When classes are
initially set up they
inherit this value.
createDateTimeNodateTimeThis feld holds the
record creation date
and time.

Table 5-1037 (Cont.) MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
customFlexAttributeNoCollection of ObjectThis list holds custom
fex attributes for the
department.
inventoryLayerIdentif
erType
NoString (6)This feld holds the
inventory layer
identifer type at the
department level.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1038 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-1039 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"hierarchyLevel": null,
"dept": 3041,
"deptName": "deptName",
"buyer": 1,
"purchaseType": 1,
"totalMarketAmount": 3,
"merchantId": 1,
"group": 1,
"budgetedMarkup": 3,
"profitCalcType": 1,
"markupCalcType": null,
"otbCalcType": null,
"budgetedIntakePercent": 3,
"deptVatIncludeInd": "Y",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"inventoryLayerIdentifierType": null,
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Output - Class
NameData TypeDescription
actionStringAction for class details. Valid values are INSERT,
UPDATE and DELETE.
hierarchylevelStringThis feld contains the Merchandising
Hierarchy Level.
classNumberContains the number which uniquely identifes
the class within the department.
classNameStringThis feld contains the name of the class which,
along with the class number, identifes the
class.
classVATIndStringThis feld is no longer used by Merchandising
and will always default to N.
deptNumberThis feld contains the number of the
department of which the class is a member.
uniqueClassIdNumberThis feld contains the number that uniquely
identifes the department/class combination.
This column is populated by the system and not
displayed to end users. This will be used for
integration to downstream systems as many
downstream systems are unable to
accommodate the composite dept/class key in
their hierarchy and item structures.
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record was
last updated.
customFlexAttributesThis list holds custom fex attributes for the
Department.
cacheTimestampStringThis feld specifes date and time when Merch
Hier record was last maintained.
inventoryLayerIdentiferTypeStringThis feld holds type of identifer that will be
used across systems to manage and identify
inventory layers at class level.

Output - Subclass

Table 5-1040 PageResultsItemsMerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records

Table 5-1040 (Cont.) PageResultsItemsMerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1041 MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for subclass
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
subclassNoNumber(4,0)This feld contains the
number which
uniquely identifes the
subclass within the
department and class.
subclassNameNoString (120)This feld contains the
name of the subclass
which, along with the
subclass number,
uniquely identifes the
subclass.
classNoNumber(4,0)This feld contains the
number which
uniquely identifes the
class within the
department.
deptNoNumber(4,0)This feld contains the
number of the
department of which
the subclass is a
member.

Table 5-1041 (Cont.) MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
uniqueSubclassIdNoNumber(10,0)This feld contains the
number that uniquely
identifes the
department/class/
subclass combination.
This column is
populated by the
system and not
displayed to end users.
This will be used for
integration to
downstream systems
as many downstream
systems are unable to
accommodate the
composite dept/class/
subclass key in their
hierarchy and item
structures.
uniqueClassIdNoNumber(10,0)This feld contains the
number that uniquely
identifes the
department/class
combination. This
column is populated
by the system and not
displayed to end users.
This will be used for
integration to
downstream systems
as many downstream
systems are unable to
accommodate the
composite dept/class
key in their hierarchy
and item structures.
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
customFlexAttributeNoCollection of ObjectThis list holds custom
fex attributes for the
subclass in
merchandise
hierarchy.

Table 5-1041 (Cont.) MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1042 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-1043 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL

Table 5-1043 (Cont.) LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "hierarchyLevel": null, "subclass": 1, "subclassName": "subclassName", "class": 1, "dept": 3041, "uniqueSubclassId": 1, "uniqueClassId": 1, "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z", "customFlexAttribute": [ { "name": "attribute1", "value": "value1", "valueDate": "2001-12-31", "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z" } ], "cacheTimestamp": "2001-12-31T23:59:59.000Z", "cacheCreateTimestamp": "2001-12-31T23:59:59.000Z" } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Output – Custom Flex Attribute
NameData TypeDescription
nameStringThis feld will hold the custom fex attribute
name.
valueStringThis feld will hold the numeric or string value
of the custom fex attribute.
valueDateStringThis feld will hold the date value of the custom
fex attribute.
createDateTimeStringThis feld will hold the date time when the
custom fex attribute was inserted.
updateDateTimeStringThis feld will hold the date time when the
custom fex attribute was last updated.
Elements in JSON Output
ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.

Example JSON Output

Division
{
  "items": [
    {
      "action": null,
      "hierarchyLevel": "DIVISION",
      "division": 1000,
      "divisionName": "Grocery",
      "buyer": 1002,
      "merchantId": "612",
      "totalMarketAmount": null,
      "company": 1,
      "createDateTime": "2020-08-18T08:45:53.000Z",
      "updateDateTime": "2021-07-23T11:34:21.000Z",

"cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Groups { "items": [ { "action": null, "hierarchyLevel": "GROUP", "group": 1841, "groupName": "Smoke Group", "buyer": 1003, "merchantId": "845", "division": 3978, "createDateTime": "2020-08-24T17:06:58.000Z", "updateDateTime": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Department { "items": [ { "action": null, "hierarchyLevel": "DEPARTMENT", "dept": 3061, "deptName": "Cats", "buyer": 610, "purchaseType": 0, "totalMarketAmount": null, "merchantId": "840", "group": 306, "budgetedMarkup": 33.3333, "profitCalcType": 1, "markupCalcType": "C", "otbCalcType": "C", "budgetedIntakePercent": 25, "deptVatIncludeInd": "Y", "createDateTime": "2020-08-18T08:45:53.000Z", "updateDateTime": "2021-07-23T12:01:34.000Z", "customFlexAttribute": null,

"cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Class { "items": [ { "action": null, "hierarchyLevel": "CLASS", "class": 1, "className": "Childrens", "classVatInd": "Y", "dept": 3100, "uniqueClassId": 204, "createDateTime": "2020-08-18T08:45:55.000Z", "updateDateTime": null, "customFlexAttribute": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Subclass { "items": [ { "action": null, "hierarchyLevel": "SUBCLASS", "subclass": 2, "subclassName": "Reels", "class": 3, "dept": 3032, "uniqueSubclassId": 15, "uniqueClassId": 137, "createDateTime": "2020-08-18T08:45:55.000Z", "updateDateTime": "2021-07-23T12:12:17.000Z", "customFlexAttribute": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1,

  "links": null
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_DIVISIONYesNoYesYes
ICL_RMS_GROUPSYesNoYesYes
ICL_RMS_DEPSYesNoYesYes
ICL_RMS_CLASSYesNoYesYes
ICL_RMS_SUBCLASSYesNoYesYes
COMPHEADYesNoNoNo
CODE_DETAILYesNoNoNo
MERCHAPI_EXT_MERCHHIERYesYesYesYes
V_ MERCHAPI_EXT_MERCH_HIER
_JSON
YesNoNoNo
SYSTEM_OPTIONSYesNoNoNo
MERCHAPI_EXT_CLASS_CFAYesYesNoYes
MERCHAPI_EXT_DEPS_CFAYesYesNoYes
MERCHAPI_EXT_SUBCLASS_CFAYesYesNoYes
DEPS_CFA_EXTYesNoNoNo
CLASS_CFA_EXTYesNoNoNo
SUBCLASS_CFA_EXTYesNoNoNo

Get Subclasses

Endpoints
MerchIntegrations/services/foundation/merchhier/division/{division}
MerchIntegrations/services/foundation/merchhier/division
MerchIntegrations/services/foundation/merchhier/groups/{group}
MerchIntegrations/services/foundation/merchhier/groups
MerchIntegrations/services/foundation/merchhier/deps/{dept}
MerchIntegrations/services/foundation/merchhier/deps
MerchIntegrations/services/foundation/merchhier/class/{uniqueClassId}
MerchIntegrations/services/foundation/merchhier/class
MerchIntegrations/services/foundation/merchhier/subclass/{uniqueSubclassId}
MerchIntegrations/services/foundation/merchhier/subclass
Functional Area
Merchandise Hierarchy
Business Overview

This service publishes merchandise hierarchy department data to downstream consuming systems. It is the department-level projection of the shared merchandise hierarchy cache and publishes the current department definition together with department name, buyer, purchase type, group, budgeting and markup attributes, inventory-layer identifier type, and department custom flex attributes.

The merch hierarchy publication for the different hierarchy level (Division, Gruops, Department, Class and Subclass) shares the same underlying processing logic and each of the level have its own endpoint. The below technical details covers all the hierarchy levels.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on

how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: DIVISION, GROUPS, DEPS, CLASS, SUBCLASS

Additional business tables: COMPHEAD, DEPS_CFA_EXT, CLASS_CFA_EXT, SUBCLASS_CFA_EXT

JSON cache table: MERCHAPI_EXT_MERCHHIER

JSON generation view: not applicable; this service reads from the shared cache maintained by foundation/merchhier

This service is the department-level child merchapi of the shared foundation/merchhier family.

It publishes only department rows from the shared cache table MERCHAPI_EXT_MERCHHIER, so the source tables, delta drivers, refresh logic, CFA helper handling, batch job, and background-engine controls are the same as the parent merchapi family section above.

Functionally, it is the department-only projection of the current merchandise hierarchy.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_EXT_MERCHHIER_JSON and apply no status filter; publishes current hierarchy rows that exist in the source tables.

Rebuild marks cache rows deleted when the hierarchy key no longer exists in V_MERCHAPI_EXT_MERCHHIER_JSON.

ICL (Integration Change Log) table: ICL_RMS_DIVISION, ICL_RMS_GROUPS, ICL_RMS_DEPS, ICL_RMS_CLASS, ICL_RMS_SUBCLASS (ICL consumer name = MERCHAPI)

This service relies on the shared delta-processing flow used by foundation/merchhier.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_MERCHHIER

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_MERCH_HIER_ADHOC_PROCESS MERCHAPI_EXT_MERCH_HIER_ADHOC_JOB

Webhook configuration api name:

Division: foundation/merchhier/division

Groups: foundation/merchhier/groups

Department: foundation/merchhier/deps

Class: foundation/merchhier/class

Subclass: foundation/merchhier/subclass

Special handling

The parent merchapi configuration name for all the hierarchy level is ‘foundation/merchhier’.

Table 5-1044 Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoString (10)Offset key (Hierarchy
ID)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-1045 Input Parameter for “MerchIntegrations/services/foundation/merchhier/ deps/{dept}“

Parameter NameRequiredData TypeDescription
deptYesNumber
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)
Service Type

GET

ReST URLs for Division

MerchIntegrations/services/foundation/merchhier/division

MerchIntegrations/services/foundation/merchhier/division/{division}

ReST URLs for Groups

MerchIntegrations/services/foundation/merchhier/groups

MerchIntegrations/services/foundation/merchhier/groups/{group}

ReST URLs for Department

MerchIntegrations/services/foundation/merchhier/deps

MerchIntegrations/services/foundation/merchhier/deps/{dept}

ReST URLs for Class
/MerchIntegrations/services/foundation/merchhier/class?
since={since}&before={before}&offsetkey={offsetkey}&limit={limit}&dept={dept}&
class={class}
/MerchIntegrations/services/foundation/merchhier/class/{uniqueClassId}
ReST URLs for Subclass

MerchIntegrations/services/foundation/merchhier/subclass

MerchIntegrations/services/foundation/merchhier/subclass/{uniqueSubclassId}

Common Input parameters for URLs without path parameter
Parameter NameRequire
d
Data TypeDescription
sinceNoStringSince Date.
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
beforeNoStringBefore Date
Format: yyyy-mm-dd”T”hh24:mi:ss.fftzh:tzm
offsetkeyNoStringOffset Key. Valid Value is combination of
sort_order_seq and node id.
limitNoBigDecima
l
Pagination limit. Default Value is 1000.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input query parameter for /MerchIntegrations/services/foundation/merchhier/class

Parameter NameRequire
d
Data TypeDescription
deptNoNumberIf dept is provided, the service will return
classes which belong to this dept
Parameter NameRequire
d
Data TypeDescription
classNoNumberIf class is provided, the service will return
class(es) matching the input class number.
To query a specifc class, value for both dept
and class should be provided.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input query parameter for /MerchIntegrations/services/foundation/merchhier/subclass

Parameter NameRequire
d
Data TypeDescription
deptNoNumberIf dept is provided, the service will return
subclasses which belong to this dept
classNoNumberIf class is provided, the service will return
subclass(es) whose parent class number
matches the input class number.
subclassNoNumberIf subclass is provided, the service will
return subclass(es) matching the input
subclass number. To query a specifc
subclass, value for dept and class and
subclass should be provided.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/division/{division}

Parameter NameRequire
d
Data TypeDescription
divisionYesNumberThis feld contains the number which
uniquely identifes the division of the
company
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/groups/{group}

Parameter NameRequire
d
Data TypeDescription
groupYesNumberThis feld contains the number which
uniquely identifes the group.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/deps/{dept}

Parameter NameRequire
d
Data TypeDescription
deptYesNumberThis feld contains the number which
uniquely identifes the department.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/class/ {uniqueClassId}

Parameter NameRequire
d
Data TypeDescription
uniqueClassIdYesNumberThis feld contains the number that
uniquely identifes the department/class
combination.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input path parameter for /MerchIntegrations/services/foundation/merchhier/subclass/ {uniqueSubclassId}

Parameter NameRequire
d
Data TypeDescription
uniqueSubclassIdYesNumberThis feld contains the number that
uniquely identifes the department/class/
subclass combination.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
Parameter NameRequire
d
Data TypeDescription
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)
Output - Division

Table 5-1046 PageResultsItemsMerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1047 MerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for division
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
divisionNoNumber(4,0)This feld contains the
number which
uniquely identifes the
division of the
company.
divisionNameNoString (120)This feld contains the
name which, along
with the division
number, identifes the
division of the
company.

Table 5-1047 (Cont.) MerchApiDivision - Object. See list of elements for detail

Element NameRequiredData TypeDescription
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
division.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
division.
totalMarketAmountNoNumber(24,4)This feld contains the
total market amount
that is expected for the
division. The feld can
be used for analytics
or reporting.
companyNoNumber(4,0)This feld contains the
number which
uniquely identifes the
company.
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1048 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL

Table 5-1048 (Cont.) LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "hierarchyLevel": null, "division": 1, "divisionName": "divName", "buyer": 1, "merchantId": 1, "totalMarketAmount": 3, "company": 1, "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z", "cacheTimestamp": "2001-12-31T23:59:59.000Z", "cacheCreateTimestamp": "2001-12-31T23:59:59.000Z" } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Output - Groups

Table 5-1049 PageResultsItemsMerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records

Table 5-1049 (Cont.) PageResultsItemsMerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1050 MerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for group
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
groupNoNumber(4,0)This feld contains the
number which
uniquely identifes the
group.
groupNameNoString (120)This feld contains the
description which,
along with the group
number, identifes the
group.
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
group.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
group.
divisionNoNumber(4,0)This feld contains the
number which
uniquely identifes the
division of the
company.

Table 5-1050 (Cont.) MerchApiGroup - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1051 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"hierarchyLevel": null,
"group": 1,
"groupName": "groupName",
"buyer": 1,
"merchantId": 1,
"division": 1,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Output - Department

Table 5-1052 PageResultsItemsMerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1053 MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for department
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
deptNoNumber(4,0)This feld contains the
number which
uniquely identifes the
department.

Table 5-1053 (Cont.) MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deptNameNoString (120)This feld contains the
description which
identifes the
department.
buyerNoNumber(4,0)This feld contains the
number of the buyer
associated with the
department.
purchaseTypeNoNumber(1,0)This feld contains a
code which indicates
whether items in this
department are, by
default, owned
(normal) merchandise,
consignment stock, or
concession stock.
totalMarketAmountNoNumber(24,4)This feld contains the
total market amount
that is expected for the
department. The feld
can be used for
analytics or reporting.
merchantIdNoNumber(4,0)This feld contains the
number of the
merchandiser
associated with the
department.
groupNoNumber(4,0)This feld contains the
number of the group
to which the
department belongs.
budgetedMarkupNoNumber(12,4)This feld contains the
budgeted markup
percentage.
proftCalcTypeNoNumber(1,0)This feld contains a
number which
indicates whether
proft will be
calculated by cost or
retail, indicating the
accounting method to
be used for the
department.
markupCalcTypeNoString (2)This feld contains the
code which
determines how
markup is calculated
in this department.

Table 5-1053 (Cont.) MerchApiDepartment - Object. See list of elements for detail

Element NameRequiredData TypeDescription
otbCalcTypeNoString (1)This feld contains the
code which
determines how OTB is
calculated in this
department.
budgetedIntakePercen
t
NoNumber(12,4)This feld contains the
budgeted intake
percentage.
deptVatIncludeIndNoString (1)This feld indicates the
default value for the
class VAT indicator.
When classes are
initially set up they
inherit this value.
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
customFlexAttributeNoCollection of ObjectThis list holds custom
fex attributes for the
department.
inventoryLayerIdentif
erType
NoString (6)This feld holds the
inventory layer
identifer type at the
department level.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1054 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.

Table 5-1054 (Cont.) CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-1055 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"hierarchyLevel": null,
"dept": 3041,
"deptName": "deptName",
"buyer": 1,
"purchaseType": 1,
"totalMarketAmount": 3,
"merchantId": 1,
"group": 1,
"budgetedMarkup": 3,
"profitCalcType": 1,
"markupCalcType": null,
"otbCalcType": null,
"budgetedIntakePercent": 3,
"deptVatIncludeInd": "Y",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"inventoryLayerIdentifierType": null,
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Output - Class
NameData TypeDescription
actionStringAction for class details. Valid values are INSERT,
UPDATE and DELETE.
hierarchylevelStringThis feld contains the Merchandising
Hierarchy Level.
classNumberContains the number which uniquely identifes
the class within the department.
classNameStringThis feld contains the name of the class which,
along with the class number, identifes the
class.
classVATIndStringThis feld is no longer used by Merchandising
and will always default to N.
deptNumberThis feld contains the number of the
department of which the class is a member.
uniqueClassIdNumberThis feld contains the number that uniquely
identifes the department/class combination.
This column is populated by the system and not
displayed to end users. This will be used for
integration to downstream systems as many
downstream systems are unable to
accommodate the composite dept/class key in
their hierarchy and item structures.
NameData TypeDescription
createDateTimeStringThis feld holds the record creation date.
updateDateTimeStringThis feld holds the date when the record was
last updated.
customFlexAttributesThis list holds custom fex attributes for the
Department.
cacheTimestampStringThis feld specifes date and time when Merch
Hier record was last maintained.
inventoryLayerIdentiferTypeStringThis feld holds type of identifer that will be
used across systems to manage and identify
inventory layers at class level.

Output - Subclass

Table 5-1056 PageResultsItemsMerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1057 MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for subclass
details.
hierarchyLevelNoString (10)This feld contains the
merchandise
hierarchy level.
subclassNoNumber(4,0)This feld contains the
number which
uniquely identifes the
subclass within the
department and class.

Table 5-1057 (Cont.) MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
subclassNameNoString (120)This feld contains the
name of the subclass
which, along with the
subclass number,
uniquely identifes the
subclass.
classNoNumber(4,0)This feld contains the
number which
uniquely identifes the
class within the
department.
deptNoNumber(4,0)This feld contains the
number of the
department of which
the subclass is a
member.
uniqueSubclassIdNoNumber(10,0)This feld contains the
number that uniquely
identifes the
department/class/
subclass combination.
This column is
populated by the
system and not
displayed to end users.
This will be used for
integration to
downstream systems
as many downstream
systems are unable to
accommodate the
composite dept/class/
subclass key in their
hierarchy and item
structures.
uniqueClassIdNoNumber(10,0)This feld contains the
number that uniquely
identifes the
department/class
combination. This
column is populated
by the system and not
displayed to end users.
This will be used for
integration to
downstream systems
as many downstream
systems are unable to
accommodate the
composite dept/class
key in their hierarchy
and item structures.

Table 5-1057 (Cont.) MerchApiSubclass - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis feld holds the
record creation date
and time.
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated.
customFlexAttributeNoCollection of ObjectThis list holds custom
fex attributes for the
subclass in
merchandise
hierarchy.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the merchandise
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1058 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-1059 LinkItems - Object. See list of elements for detail

Element Name Required Data Type Description href No String Service URL rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. Sample Response Message { "items": [ { "action": "INSERT", "hierarchyLevel": null, "subclass": 1, "subclassName": "subclassName", "class": 1, "dept": 3041, "uniqueSubclassId": 1, "uniqueClassId": 1, "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z", "customFlexAttribute": [ { "name": "attribute1", "value": "value1", "valueDate": "2001-12-31", "createDateTime": "2001-12-31T23:59:59.000Z", "updateDateTime": "2001-12-31T23:59:59.000Z" } ], "cacheTimestamp": "2001-12-31T23:59:59.000Z", "cacheCreateTimestamp": "2001-12-31T23:59:59.000Z" } ], "hasMore": true, "limit": 1000, "count": 1000, "links": [ { "href": "https://<server>:<port>/Application/services/resources? limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs etkey=1234,XYZ", "rel": "next" } ] }

Output – Custom Flex Attribute
NameData TypeDescription
nameStringThis feld will hold the custom fex attribute
name.
valueStringThis feld will hold the numeric or string value
of the custom fex attribute.
valueDateStringThis feld will hold the date value of the custom
fex attribute.
createDateTimeStringThis feld will hold the date time when the
custom fex attribute was inserted.
updateDateTimeStringThis feld will hold the date time when the
custom fex attribute was last updated.
Elements in JSON Output
ElementsDescription
itemsThe frst element is named as items and contains a
number of child elements. Each child element
corresponds to a row in the result set generated by the
query.
hasMoreThis is dependent on limit value. If the total rows are
more than then limit defned then hasMore will be set to
true else false.
limitThis is used to limit the rows to control the paging of
result data. Based on the limit, next and previous links are
displayed.
For example: If the limit is set to 25, internal it tries to
fetch 26 rows. If 26th row exists then 25 rows are returned
along with a “next” link else no links would be added to
the JSON response.
links“self” : This contains URI pointing to current page.
“next”: This contains URI pointing to the next page of
results.

Example JSON Output

Division
{
  "items": [
    {
      "action": null,
      "hierarchyLevel": "DIVISION",
      "division": 1000,
      "divisionName": "Grocery",
      "buyer": 1002,
      "merchantId": "612",
      "totalMarketAmount": null,
      "company": 1,
      "createDateTime": "2020-08-18T08:45:53.000Z",
      "updateDateTime": "2021-07-23T11:34:21.000Z",

"cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Groups { "items": [ { "action": null, "hierarchyLevel": "GROUP", "group": 1841, "groupName": "Smoke Group", "buyer": 1003, "merchantId": "845", "division": 3978, "createDateTime": "2020-08-24T17:06:58.000Z", "updateDateTime": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Department { "items": [ { "action": null, "hierarchyLevel": "DEPARTMENT", "dept": 3061, "deptName": "Cats", "buyer": 610, "purchaseType": 0, "totalMarketAmount": null, "merchantId": "840", "group": 306, "budgetedMarkup": 33.3333, "profitCalcType": 1, "markupCalcType": "C", "otbCalcType": "C", "budgetedIntakePercent": 25, "deptVatIncludeInd": "Y", "createDateTime": "2020-08-18T08:45:53.000Z", "updateDateTime": "2021-07-23T12:01:34.000Z", "customFlexAttribute": null,

"cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Class { "items": [ { "action": null, "hierarchyLevel": "CLASS", "class": 1, "className": "Childrens", "classVatInd": "Y", "dept": 3100, "uniqueClassId": 204, "createDateTime": "2020-08-18T08:45:55.000Z", "updateDateTime": null, "customFlexAttribute": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1, "links": null } Subclass { "items": [ { "action": null, "hierarchyLevel": "SUBCLASS", "subclass": 2, "subclassName": "Reels", "class": 3, "dept": 3032, "uniqueSubclassId": 15, "uniqueClassId": 137, "createDateTime": "2020-08-18T08:45:55.000Z", "updateDateTime": "2021-07-23T12:12:17.000Z", "customFlexAttribute": null, "cacheTimestamp": "2021-08-19T06:55:11.469Z" } ], "hasMore": false, "limit": 1, "count": 1,

  "links": null
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_DIVISIONYesNoYesYes
ICL_RMS_GROUPSYesNoYesYes
ICL_RMS_DEPSYesNoYesYes
ICL_RMS_CLASSYesNoYesYes
ICL_RMS_SUBCLASSYesNoYesYes
COMPHEADYesNoNoNo
CODE_DETAILYesNoNoNo
MERCHAPI_EXT_MERCHHIERYesYesYesYes
V_ MERCHAPI_EXT_MERCH_HIER
_JSON
YesNoNoNo
SYSTEM_OPTIONSYesNoNoNo
MERCHAPI_EXT_CLASS_CFAYesYesNoYes
MERCHAPI_EXT_DEPS_CFAYesYesNoYes
MERCHAPI_EXT_SUBCLASS_CFAYesYesNoYes
DEPS_CFA_EXTYesNoNoNo
CLASS_CFA_EXTYesNoNoNo
SUBCLASS_CFA_EXTYesNoNoNo

Subclass Upload Service

The following services are included in this functional area:

  • Create Subclass

  • Delete Subclass

  • Update Subclass

Create Subclass

Functional Area

Merchandise Hierarchy

Business Overview

This service is can be used to create subclasses for an existing department-class in Merchandising. When a new subclass is created, this service will first validate that all required fields are present in the request payload. Business level validation on the input information will

be performed, which checks whether the subclass already exists. If the subclass does not exist, then it is created. Active custom flex attributes that are associated with a subclass can also be created through this service.

Service Type

POST

ReST URL
MerchIntegrations/services/merchandiseHierarchy/subclass/create
Input Payload Details

Table 5-1060 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
subclassYesNumber (4)The unique number which identifes
the subclass. This value cannot be
modifed.
subclassNameYesString (120)The name of the subclass.
classYesNumber (4)The number of the class which
contains the subclass. This value must
be predefned on the CLASS table.
This value cannot be modifed.
deptYesNumber (4)The number of the department which
contains the subclass. This value must
be predefned on the DEPS table. This
value cannot be modifed.
intercompanyTransferPrice
Basis
NoString (6)This specifes the Default
Intercompany Transfer Price that will
be used during recording of
transaction data postings on
intercompany transfers and
allocations. Valid values are
’W’(Weighted Average Cost) and
’S’(Supplier Cost). If not defned, the
value will default to ‘W’ for
subclasses under departments with
cost-based proft calculation type or
to ‘R’ (Retail Based) for subclasses
under departments with retail-based
proft calculation type.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes at the order header
level. This collection is treated as a
single group and should include all
named fexible attributes for the
business entity. If any confgured
named attribute is missing from the
input collection, its value will be set
to NULL.

Table 5-1060 (Cont.) Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
updSellDateOnStOrdRcptNoString (1)This feld is used to capture whether
the selling phase start date at an item/
location level would need to be
updated in case of receipts against
purchase orders having a store as
their destination.
updSellDateOnWh2stRcptNoString (1)This feld is used to capture whether
the selling phase start date at an item/
location level would need to be
updated in case of receipts against
Warehouse to Store transfers or
allocation.
updSellDateOnSt2stRcptNoString (1)This feld is used to capture whether
the selling phase start date at an item/
location level would need to be
updated in case of receipts against
Store to Store transfers.
minUnitsForSellDateResetNoNumber
(12,4)
This feld is to capture at the subclass
level the minimum number of units
that would trigger an update to the
selling phase start date to the receipt
date in case of a warehouse to store
transfer/allocation or a store to store
transfer.

Table 5-1061 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "subclass": 1,
  "subclassName": "subclassName",
  "class": 1,
  "dept": 3041,
  "intercompanyTransferPriceBasis": null,
  "customFlexAttribute": [
    {
      "name": "REVIEW_DATE",
      "value": null,
      "valueDate": "2001-12-31"
    }
  ],
  "updSellDateOnStOrdRcpt": "N",
  "updSellDateOnWh2stRcpt": "N",
  "updSellDateOnSt2stRcpt": "N",
  "minUnitsForSellDateReset": 50
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Delete Subclass

Functional Area

Merchandise Hierarchy

Business Overview

This service is used to delete an existing subclass from Merchandising. When a subclass is deleted, this service will add the subclass to a purging staging table for processing in the Daily Purge of Foundation Data process.

Note: Associated custom flex attributes are deleted when the subclass is deleted.

For more details on Subclass, see the Create Subclass service description.

Service Type

DELETE

ReST URL
MerchIntegrations/services/merchandiseHierarchy/subclass/delete
Input Payload Details

Table 5-1062 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
subclassYesNumber (4)The unique number which identifes
the subclass.
classYesNumber (4)The number of the class which
contains the subclass. This value must
be predefned on the CLASS table.
deptYesNumber (4)The number of the department which
contains the subclass. This value must
be predefned on the DEPS table.
Sample Input Message
{
  "subclass": 1,
  "class": 1,
  "dept": 3041
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Update Subclass

Functional Area
Merchandise Hierarchy
Business Overview

This service is used to update an existing subclass in Merchandising. When a subclass is updated, this service will first validate that all the required fields are present in the request payload. Business level validation on the input information will be performed which verifies if the subclass to be updated already exists. If the subclass already exists, it is updated. Active custom flex attributes that are associated with a subclass can also be updated using this service.

For more details on Subclass, see the Create Subclass service description.

Service Type
PUT
ReST URL
MerchIntegrations/services/merchandiseHierarchy/subclass/update
Input Payload Details

Table 5-1063 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
subclassYesNumber (4)The unique number which identifes
the subclass. This value cannot be
modifed.
subclassNameYesString (120)The name of the subclass.
classYesNumber (4)The number of the class which
contains the subclass. This value must
be predefned on the CLASS table.
This value cannot be modifed.
deptYesNumber (4)The number of the department which
contains the subclass. This value must
be predefned on the DEPS table. This
value cannot be modifed.

Table 5-1063 (Cont.) Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
intercompanyTransferPrice
Basis
NoString (6)This specifes the Default
Intercompany Transfer Price that will
be used during recording of
transaction data postings on
intercompany transfers and
allocations. Valid values are
’W’(Weighted Average Cost) and
’S’(Supplier Cost). If not defned, the
value will default to ‘W’ for
subclasses under departments with
cost-based proft calculation type or
to ‘R’ (Retail Based) for subclasses
under departments with retail-based
proft calculation type.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes. This collection is
treated as a single group and should
include all named fexible attributes
for the business entity. If any
confgured named attribute is
missing from the input collection, its
value will be set to NULL.
updSellDateOnStOrdRcptNoString (1)This feld is used to capture whether
the selling phase start date at an item/
location level would need to be
updated in case of receipts against
purchase orders having a store as
their destination.
updSellDateOnWh2stRcptNoString (1)This feld is used to capture whether
the selling phase start date at an item/
location level would need to be
updated in case of receipts against
Warehouse to Store transfers or
allocation.
updSellDateOnSt2stRcptNoString (1)This feld is used to capture whether
the selling phase start date at an item/
location level would need to be
updated in case of receipts against
Store to Store transfers.
minUnitsForSellDateResetNoNumber
(12,4)
This feld is to capture at the subclass
level the minimum number of units
that would trigger an update to the
selling phase start date to the receipt
date in case of a warehouse to store
transfer/allocation or a store to store
transfer.

Table 5-1064 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.

Table 5-1064 (Cont.) CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.

Sample Input Message

{
  "subclass": 1,
  "subclassName": "subclassName",
  "class": 1,
  "dept": 3041,
  "intercompanyTransferPriceBasis": null,
  "customFlexAttribute": [
    {
      "name": "REVIEW_DATE",
      "value": null,
      "valueDate": "2001-12-31"
    }
  ],
  "updSellDateOnStOrdRcpt": "N",
  "updSellDateOnWh2stRcpt": "N",
  "updSellDateOnSt2stRcpt": "N",
  "minUnitsForSellDateReset": 50
}

Response Code: 200 (Success)

Sample Response Message

{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message

{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Reclassification

The following services are included in this functional area:

  • Item Reclassification Download Service

  • Item Reclassification Upload Service

  • Merchandise Hierarchy Reclassification Upload Service

Item Reclassification Download Service

Get Item Reclassifications

This section describes the Reclass Detail service.

Business Overview

This service is used to retrieve reclassification details for a given item.

Service Type

Get

ReST URL

Reclass/reclass?item={itemNumber}

Input Parameters

Output

Parameter NameRequiredDescription
Item
RestReclassRecRDO
YesItem number
Parameter NameData Type
toClassBigDecimal
reclassDateTimestamp
reclassDescString
toSubclassBigDecimal
reclassNoBigDecimal
toDepttoDept
RestReclassRecRDO
JSON Structure
[
  {
    "toClass": null,
    "reclassDate": null,
    "reclassDesc": null,
    "toSubclass": null,
    "reclassNo": null,
    "toDept": null,
    "links": [],
    "hyperMediaContent": {
      "linkRDO": []
    }
  }
]
Table Impact
TABLESELECTINSERTUPDATEDELETE
RECLASS_HEADYesNoNoNo
RECLASS_ITEMYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Item Reclassification Upload Service

Create Item Reclassification

Functional Area

Merchandise Hierarchy - Reclassification

Business Overview

This service allows external systems to create item reclassification events within Merchandising which are necessary in order to keep it in sync with the external system. Merchandising subscribes to item reclassification messages, which updates the department, class, and/or subclass for an item, based on the data that is published by the external system. Only the following item types can be interfaced using this API:

  • Transaction level items without a parent

  • Parent items, whose child items are the transaction level, such as with a fashion style (parent) and its SKUs (children)

  • Complex pack items - but the reclassification cannot include the component items in the pack

The following item types cannot be reclassified:

  • Child items with a parent - these are reclassified when the parent is updated

  • Reference items - these below transaction level items are automatically reclassified with the transaction level item or its parent, whichever applies.

  • Simple Packs - these are reclassified when the component item is reclassified

This service also allows a reclassification event to be created for a department/class/subclass combination that does not exist yet. This is valid as long as the merchandise hierarchy is scheduled to be created on or prior to the reclassification taking effect. In order to create a reclassification, both header and detail level records are required.

Service Type

POST

ReST URL
MerchIntegrations/services/merchandiseHierarchy/itemReclassification/create
Availability During Nightly Batch Cycle

This service will not be available during total duration of nightly batch run cycle.

Input Payload Details

Table 5-1065 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of item
Objectreclassifcation records.

Table 5-1066 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
reclassNoYesNumber (4)The unique number which identifes
the reclass event.
descriptionYesString (120)The description of the reclass event.
reclassDateYesdateThe date on which the reclass event is
scheduled to take place.
toDeptYesNumber (4)The department to which the item
will belong after the reclass event.
toClassYesNumber (4)The class to which the item will
belong after the reclass event.
toSubclassYesNumber (4)The subclass to which the item will
belong after the reclass event.
itemsNoCollection of
Object
References a collection of items in the
reclassifcation event.

Table 5-1067 Items.Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The item in the reclass event.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "reclassNo": 1,
      "description": "reclassDesc",
      "reclassDate": "2001-12-31",
      "toDept": 3041,
      "toClass": 1,
      "toSubclass": 1,
      "items": [
        {
          "item": "100100076"
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Create Item Reclassification Detail

Functional Area

Merchandise Hierarchy - Reclassification
Business Overview

This service allows external systems to add items to an existing item reclassification event in Merchandising in order to keep it in sync with the external system. Merchandising subscribes to item reclassification requests, which update the department, class, and/or subclass for the item, based on the data that is published by the external system.

Before an item is added to the reclassification event, the following things would be validated:

  • Must be a level 1 item

  • If the item is a pack, it should not be a simple pack

  • Must not be on any approved order

  • Must not be an orderable buyer pack that can be received as component items

  • Must not be on an existing reclassification

Service Type

POST

ReST URL

MerchIntegrations/services/merchandiseHierarchy/itemReclassification/detail/
create
Availability During Nightly Batch Cycle

This service will not be available during total duration of nightly batch run cycle.

Input Payload Details

Table 5-1068 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of item
Objectreclassifcation details.

Table 5-1069 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
reclassNoYesNumber (4)The unique number which identifes
the reclass event.
descriptionYesString (120)The description of the reclass event.
reclassDateYesdateThe date on which the reclass event is
scheduled to take place.
toDeptYesNumber (4)The department to which the item
will belong after the reclass event.
toClassYesNumber (4)The class to which the item will
belong after the reclass event.
toSubclassYesNumber (4)The subclass to which the item will
belong after the reclass event.
itemsNoCollection of
Object
References a collection of items in the
reclassifcation event.

Table 5-1070 Items.Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The item to be added to the
reclassifcation event.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "reclassNo": 1,
      "description": "reclassDesc",
      "reclassDate": "2001-12-31",
      "toDept": 3041,
      "toClass": 1,
      "toSubclass": 1,
      "items": [
        {
          "item": "100100076"
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Item Reclassification

Functional Area

Merchandise Hierarchy - Reclassification

Business Overview

This service allows external systems to delete item reclassification events within Merchandising in order to keep it in sync with the external system. Reclassifications can be deleted using any of the following:

  • Deleting a single reclassification event

  • Deleting all reclassification events on a particular event date

  • Deleting all reclassification events

Service Type

DELETE

ReST URL

MerchIntegrations/services/merchandiseHierarchy/itemReclassification/delete
Availability During Nightly Batch Cycle

This service will not be available during total duration of nightly batch run cycle.

Input Payload Details

Table 5-1071 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
reclassNoNoNumber (4)If this is provided, then the particular
reclass event will be deleted. The
purgeAllInd must be N when this is
provided.
reclassDateNodateIf this is provided, then all reclass
events with this date will be deleted.
The purgeAllInd must be N when this
is provided.
purgeAllIndNoString (1)If this feld is Y, then all item reclass
events will be deleted. If this is
provided, both reclassNo and
reclassDate must not be provided.
Sample Input Message
{
  "reclassNo": 1,
  "reclassDate": "2001-12-31",
  "purgeAllInd": "Y"
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Item Reclassification Detail

Functional Area

Merchandise Hierarchy - Reclassification

Business Overview

This service allows external systems to remove items from an existing item reclassification event in Merchandising in order to keep it in sync with the external system. The entire reclassification event gets deleted once there are no remaining item lines based on detail level deletion.

Service Type

DELETE

ReST URL

MerchIntegrations/services/merchandiseHierarchy/itemReclassification/detail/
delete
Availability During Nightly Batch Cycle

This service will not be available during total duration of nightly batch run cycle.

Input Payload Details

Table 5-1072 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
reclassNoYesNumber (4)The reclass event for which deletion
activity is occurring.
itemsYesCollection of
Object
References a collection of items to be
deleted from a reclassifcation event.

Table 5-1073 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)The item in the reclassifcation event

that needs to be deleted.
Sample Input Message
{
  "reclassNo": 1,
  "items": [
    {
      "item": "100100076"
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Merchandise Hierarchy Reclassification Upload Service

Create Merchandise Hierarchy Reclassification

Functional Area

Merchandise Hierarchy - Reclassification

Business Overview

This service allows Merchandising to subscribe to merchandise hierarchy reclassification requests from an external system and is intended to be used by retailers who manage their hierarchies in an external system which is outside Merchandising. This service creates pending merchandise hierarchy reclassification events within Merchandising based on the data sent by the external system.

When a new merchandise hierarchy reclassification is created, the service will first validate that all the required fields are present in the payload. There are certain fields that are required

irrespective of the hierarchy level, while there are a few which depend on other hierarchy configurations. After this is completed, business level validation will be carried out on the input information.

There is a separate batch process to read the information that is present in the pending merchandise hierarchy table and create the merchandise hierarchy information in Merchandising on the effective date.

Service Type

POST

ReST URL

MerchIntegrations/services/merchandiseHierarchy/reclassification/create
Availability During Nightly Batch Cycle

This service will not be available during total duration of nightly batch run cycle.

Input Payload Details

Table 5-1074 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hierarchyLevelYesString (1)Indicates the level of the merchandise
hierarchy. Valid values are V
(division), G (group), D (department),
C (class), and S (subclass).
hierarchyIdYesNumber (4)Contains the merchandise hierarchy
ID.
parentHierarchyIdNoNumber (4)The parent of the hierarchy identifed
in the hierarchyId feld. This feld is
optional when hierarchyLevel is V
(Division). For a Division, if parent is
provided, it must be Company.
grandparentHierarchyIdNoNumber (4)The grandparent of the hierarchy
identifed in the hierarchyId feld.
This feld will only be used when the
hierarchyLevel indicates subclass. It
will contain the number of the
department the subclass belongs to.
hierarchyNameYesString (120)The name of the hierarchy value.
effectiveDateYesdateThe date the hierarchy change will
become effective.
actionTypeNoString (1)Indicates if this feld is an addition or
modifcation. Valid values are A and
M. It is required on a create message
and should not be populated on a
modify message.
buyerNoNumber (4)The number of the buyer associated
with the entity. This value must be
predefned on the BUYER table. This
feld should only hold a value if the
hierarchy level indicates division,
group, or department.

Table 5-1074 (Cont.) Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
purchaseTypeNoNumber (1)The code which indicates whether
items in the department are normal
merchandise (0) or consignment
stock (1). This feld will only be used
if the hierarchy level indicates
department.
totalMarketAmountNoNumber
(24,4)
The total market amount that is
expected for the entity. This feld will
only be used if the hierarchy value
indicates division or department.
merchandiserNoNumber (4)The number of the merchandiser
associated with the entity. This value
must be predefned on the
MERCHANT table. This feld should
hold a value only if the hierarchy
level indicates division, group, or
department.
budgetedMarkupPercentNoNumber
(12,4)
The budgeted markup percentage.
The markup percent of cost. This feld
will only be used if the hierarchy
level indicates department.
proftCalcTypeNoNumber (1)The number which indicates whether
proft will be calculated by direct cost
(1) or retail inventory (2). This feld
will only be used if the hierarchy
level indicates department.
markupCalcTypeNoString (2)The code letter which indicates how
markup is calculated in the
department. This feld will only be
used if the hierarchy level indicates
department. Valid values are C (cost)
and R (retail).
otbCalcTypeNoString (1)The code letter which indicates how
OTB is calculated in the department.
Valid values are cost (C) and retail (R).
This feld will only be used if the
hierarchy value indicates
department.
maximumAverageCounterNoNumber (5)The maximum count of days with
acceptable data to include in an
average for items with the
department. This feld will only be
used if the hierarchy level indicates
department. It is required if RPM is
installed.
averageTolerancePercentNoNumber
(12,4)
The tolerance percentage value used
in averaging for items within this
value. This column will hold 70% as
70, not. 70. This feld will only be used
if the hierarchy value indicates
department.

Table 5-1074 (Cont.) Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
budgetedIntakePercentNoNumber
(12,4)
The budgeted intake percentage. The
percent of the total take that is
income. This feld will only be used if
the hierarchy value indicates
department.
deptVatIncludeIndNoString (1)Indicates the default value for the
class VAT indicator. When classes are
initially set up they will inherit this
value. This feld will only be
populated when the hierarchy level
indicates department.
classVatIndNoString (1)Indicates if retail is displayed and
held with or without VAT for items
within a class. Valid values are Y (yes)
and N (no). This feld will only be
used if the hierarchy level indicates
class.
Sample Input Message
{
  "hierarchyLevel": "D",
  "hierarchyId": 100,
  "parentHierarchyId": 108,
  "grandparentHierarchyId": 1000,
  "hierarchyName": "Dept 100 MrchRcls Action New",
  "effectiveDate": null,
  "actionType": "A",
  "buyer": 305,
  "purchaseType": 0,
  "totalMarketAmount": 3,
  "merchandiser": 601,
  "budgetedMarkupPercent": 3,
  "profitCalcType": 1,
  "markupCalcType": "C",
  "otbCalcType": "C",
  "maximumAverageCounter": 10000,
  "averageTolerancePercent": 3,
  "budgetedIntakePercent": 15.00,
  "deptVatIncludeInd": "Y",
  "classVatInd": null
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Merchandise Hierarchy Reclassification

Functional Area

Merchandise Hierarchy - Reclassification

Business Overview

This service allows for pending merchandise hierarchy reclassification events to be deleted in Merchandising. Prior to deleting a previously created reclassification event, the existence of any related child reclassification records will be checked and the necessary validations will be executed to ensure there are no conflicts.

Service Type

DELETE

ReST URL
MerchIntegrations/services/merchandiseHierarchy/reclassification/delete
Availability During Nightly Batch Cycle

This service will not be available during total duration of nightly batch run cycle.

Input Payload Details

Table 5-1075 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hierarchyLevelYesString (1)Indicates the level of the merchandise
hierarchy. Valid values are V
(division), G (group), D (department),
C (class), and S (subclass).
hierarchyIdYesNumber (4)Contains the merchandise hierarchy
ID.
parentHierarchyIdNoNumber (4)The parent of the hierarchy identifed
in the hierarchyId feld.

Table 5-1075 (Cont.) Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
grandparentHierarchyIdNoNumber (4)The grandparent of the hierarchy
identifed in the hierarchyId feld.
This column will only be populated if
the hierarchyLevel = subclass. In this
case, the column will contain the dept
number.
Sample Input Message
{
  "hierarchyLevel": "D",
  "hierarchyId": 100,
  "parentHierarchyId": 108,
  "grandparentHierarchyId": 1000
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Update Merchandise Hierarchy Reclassification

Functional Area Merchandise Hierarchy - Reclassification

Business Overview

This service allows for pending merchandise hierarchy reclassification events to be modified in Merchandising. In order to update a previously created reclassification, the hierarchy type must be already present in Merchandising. While updating the effective date of a reclassification that involves an addition, there should not be any child hierarchy addition with an earlier effective date. For example, if you are adding a department within Merchandising on a given date, there cannot be a reclassification event for adding a class within the department with an earlier effective date.

Service Type

PUT

ReST URL

MerchIntegrations/services/merchandiseHierarchy/reclassification/update
Availability During Nightly Batch Cycle

This service will not be available during total duration of nightly batch run cycle.

Input Payload Details

Table 5-1076 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hierarchyLevelYesString (1)Indicates the level of the merchandise
hierarchy. Valid values are V
(division), G (group), D (department),
C (class), and S (subclass).
hierarchyIdYesNumber (4)Contains the merchandise hierarchy
ID.
parentHierarchyIdNoNumber (4)The parent of the hierarchy identifed
in the hierarchyId feld. This feld is
optional when hierarchyLevel is V
(Division). For a Division, if parent is
provided, it must be Company.
grandparentHierarchyIdNoNumber (4)The grandparent of the hierarchy
identifed in the hierarchyId feld.
This feld will only be used when the
hierarchyLevel indicates subclass. It
will contain the number of the
department the subclass belongs to.
hierarchyNameYesString (120)The name of the hierarchy value.
effectiveDateYesdateThe date the hierarchy change will
become effective.
buyerNoNumber (4)The number of the buyer associated
with the entity. This value must be
predefned on the BUYER table. This
feld should only hold a value if the
hierarchy level indicates division,
group, or department.
purchaseTypeNoNumber (1)The code which indicates whether
items in the department are normal
merchandise (0) or consignment
stock (1). This feld will only be used
if the hierarchy level indicates
department.

Table 5-1076 (Cont.) Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
totalMarketAmountNoNumber
(24,4)
The total market amount that is
expected for the entity. This feld will
only be used if the hierarchy value
indicates division or department.
merchandiserNoNumber (4)The number of the merchandiser
associated with the entity. This value
must be predefned on the
MERCHANT table. This feld should
hold a value only if the hierarchy
level indicates division, group, or
department.
budgetedMarkupPercentNoNumber
(12,4)
The budgeted markup percentage.
The markup percent of cost. This feld
will only be used if the hierarchy
level indicates department.
proftCalcTypeNoNumber (1)The number which indicates whether
proft will be calculated by direct cost
(1) or retail inventory (2). This feld
will only be used if the hierarchy
level indicates department.
markupCalcTypeNoString (2)The code letter which indicates how
markup is calculated in the
department. This feld will only be
used if the hierarchy level indicates
department. Valid values are C (cost)
and R (retail).
otbCalcTypeNoString (1)The code letter which indicates how
OTB is calculated in the department.
Valid values are cost (C) and retail (R).
This feld will only be used if the
hierarchy value indicates
department.
maximumAverageCounterNoNumber (5)The maximum count of days with
acceptable data to include in an
average for items with the
department. This feld will only be
used if the hierarchy level indicates
department.
averageTolerancePercentNoNumber
(12,4)
The tolerance percentage value used
in averaging for items within this
value. This column will hold 70% as
70, not. 70. This feld will only be used
if the hierarchy value indicates
department.
budgetedIntakePercentNoNumber
(12,4)
The budgeted intake percentage. The
percent of the total take that is
income. This feld will only be used if
the hierarchy value indicates
department.

Table 5-1076 (Cont.) Update - Object. See list of elements for detail

Element Name
Required
Data TypeDescription
deptVatIncludeInd
No
String (1)Indicates the default value for the
class VAT indicator. When classes are
initially set up they will inherit this
value. This feld will only be
populated when the hierarchy level
indicates department.
classVatInd
No
Sample Input Message
String (1)Indicates if retail is displayed and
held with or without VAT for items
within a class. Valid values are Y (yes)
and N (no). This feld will only be
used if the hierarchy level indicates
class.
{
"hierarchyLevel": "D",
"hierarchyId": 100,
"parentHierarchyId": 108,
"grandparentHierarchyId": 1000,
"hierarchyName": "merchHierName",
"effectiveDate": "2001-12-31",
"buyer": 1000,
"purchaseType": 1,
"totalMarketAmount": 3,
"merchandiser": 1000,
"budgetedMarkupPercent": 3,
"profitCalcType": 1,
"markupCalcType": "C",
"otbCalcType": "C",
"maximumAverageCounter": 10000,
"averageTolerancePercent": 3,
"budgetedIntakePercent": 15.00,
"deptVatIncludeInd": "Y",
"classVatInd": null
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Organizational Hierarchy

The following services are included in this functional area:

  • Organizational Hierarchy Download Service

    • Get Organizational Hierarchy for Provided Level

    • – Get Organizational Hierarchy for Provided Level and Hierarchy Identifier

    • Get Organizational Hierarchy

  • Organizational Hierarchy Upload Service – Create Organizational Hierarchy

  • – Delete Organizational Hierarchy

  • – Update Organizational Hierarchy

  • • Stores – Store Download Service * Get Basic Store Details * Get Store Details * Get Store Details for Provided Store

  • – Store Upload Service * Create Store * Create Store Address * Create Store Department Up Charges * Create Store Hours * Create Store Location Trait * Create Walk-Through Store * Delete Store * Delete Store Address * Delete Store Department Up Charges * Delete Store Hours

    - Delete Store Location Trait
    
    - Delete Walk-Through Store
    
    - Update Store
    
    - Update Store Address
    
    - Update Store Department Up Charges
    
    - Update Store Hours
    
    • Stores by Hierarchy Level Upload Service

      • Create Store Location Trait by Hierarchy Level

      • Delete Store Location Trait by Hierarchy Level

  • Warehouse

    • Warehouse Download Service

      • Get Basic Warehouse Details

      • Get Warehouse Details

      • Get Warehouse Details for Provided Warehouse

Get Company Closings

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/companyClosings/get

Functional Area

Foundation

Business Overview

This service retrieves company-wide closings along with their associated location-level exceptions. This service accepts optional query parameters for closed date to retrieve details for the specified closed date.

Input Parameters
Response Code: 200 (Success)

Company Closings - Object. See list of elements for detail

LocationExceptions - Object. See list of elements for detail

Translations - Object. See list of elements for detail

Sample Response Message
{
"closedDate": "2026-06-29",
"closedDescription": "Christmas",
"locationExceptions": [
{
"location": 6000,
"locationType": "S",
"openForSales": "N",
"openForShipping": "Y",
"openForReceiving": "Y"
}
],
"translations": [
{
"languageCode": 3,
"languageName": "French",
"isoCode": "FR",
"closedDescription": "Noel"
}
]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}

Get Location Closings

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/locationClosings/get

Functional Area

Foundation

Business Overview

This service retrieves location-specific closings for one or more specified locations, or for all locations. This service accepts optional query parameters for location, location type and closed date to retrieve details for the specified location, location type and closed date.

Input Parameters
Response Code: 200 (Success)

Location Closings - Object. See list of elements for detail

Translations - Object. See list of elements for detail

Sample Response Message
{
"location": 6000,
"locationType": "S",
"closedDate": "2026-06-29",
"closedForSales": "N",
"closedForShipping": "Y",
"closedForReceiving": "Y",
"reason": "Christmas",
"translations": [
{
"languageCode": 3,
"languageName": "French",
"isoCode": "FR",
"reason": "Noel"
}
]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}

Get Locations for AIF Applications

Business Overview

The service is used to fetch all locations from Merchandising for AIF application usage, data warehousing needs, or other downstream consuming systems. This service follows the AIF publish pattern and provides cache-backed JSON messages for consumers that need current location data.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and interacts with webhooks, refer to the common Publish API operational guidance.

Core business tables: STORE, WH, PARTNER, ADDR

Additional business tables: DISTRICT, REGION, AREA, CHAIN, COMPANY and related foundation reference tables

JSON cache table: MERCHAPI_AIF_LOCATION

JSON generation view: V_MERCHAPI_AIF_LOCATION_JSON

Builds a unified location message for stores, warehouses, and external finishers, including address, hierarchy, channel, banner, and operational attributes.

A location is published when it is present in the location JSON view and has a cacheable location message for AIF downstream consumption.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild pull published rows from V_MERCHAPI_AIF_LOCATION_JSON. No additional filter criteria were identified beyond the cache-build logic.

Mark cache rows deleted when the location no longer exists in V_MERCHAPI_AIF_LOCATION_JSON.

ICL (Integration Change Log) table: ICL_RMS_ADDR, ICL_RMS_PARTNER, ICL_RMS_STORE, ICL_RMS_WH (ICL consumer name = MERCHAPI_4)

ICL entries are created using the delivered entity map and table map for foundation/aif/ locations. Qualifying inserts, updates, and deletes are written with change type U for cache refresh processing.

Batch Configuration. Background-engine execution is the delivered asynchronous option for this API.

Process configuration name: API_AIF_LOCATION

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM batch scheduler based delta processing is not supported for this API.

Webhook configuration api name: foundation/aif/locations

Special handling:

Additional GET query parameters: location, locationType.

Performance Considerations

For customers expecting high to very high publish volume from this API, sizing and operational tuning should be addressed early in the implementation lifecycle. Initial cache seeding, ongoing delta processing, full extracts, and incremental downloads or webhook-driven delivery have different runtime profiles.

Multi-threading and commit control

This service supports multi-threaded execution for both initial seeding and delta processing. Thread count is controlled through API_NO_OF_THREADS, and commit sizing is controlled through API_COMMIT_MAX_COUNTER. Choose these settings together based on expected row volume, average message size, and the SQL cost of building each JSON message.

Dropping indexes and constraints during seeding

DROP_INDEX_ON_REFRESH applies only to initial seeding, including truncate-and-load execution. When enabled, indexes and constraints are dropped before seeding and rebuilt after the load completes. GATHER_STATS_ON_REFRESH should normally remain enabled unless implementation testing shows a specific reason to change it.

REST fetch considerations

Select REST page size based on average payload size so the average response remains below about 10 MB per call. For full downloads, omit the since query parameter. For delta downloads, use a short time window; wider outage or recovery windows should be handled through smaller polling windows, using optimalBefore where applicable.

Input Parameters
Response Code: 200 (Success)

PageResultsItemsMerchApiAifLocation - Object. See list of elements for detail

MerchApiAifLocation - Object. See list of elements for detail

Location address and operational attribute objects - Object. See list of elements for detail

LinkItems - Object. See list of elements for detail

Sample Response Message
{
  "items": [
    {
      "action": "INSERT",
      "location": 101,
      "locationType": "S",
      "currencyCode": "USD",
      "locationName": "Store 101",
      "addressType": "01",
      "address1": "100 Main Street",
      "city": "Austin",
      "state": "TX",
      "post": "78701",
      "country": "US",
      "district": 10,
      "region": 1,
      "channelId": 1,
      "channelName": "Stores",
      "stockholdingFlag": "Y",
      "createDateTime": "2001-12-31T10:15:30Z",
      "updateDateTime": "2001-12-31T10:15:30Z"
    }
  ],
  "hasMore": false,
  "limit": 1,
  "count": 1,
  "links": []
}

Manage Company Closings

Functional Area

Foundation

Business Overview

This service endpoint will be used to create, update or delete company-wide closings and any exception at location level.

Service Type

POST

ReST URL

MerchIntegrations/services/foundation/companyClosings/manage

Input Payload Details

Manage - Object. See list of elements for detail

CompanyClosings - Object. See list of elements for detail

LocationExceptions - Object. See list of elements for detail

Translations - Object. See list of elements for detail

Sample Input Message
{
"companyClosings": [
{
"action": "CREATE",
"closedDate": "2001-12-31",
"closedDescription": "Independence Day",
"locationExceptions": [
{
"action": "CREATE",
"location": 1521,
"locationType": "S",
"openForSales": "N",
"openForShipping": "N",
"openForReceiving": "Y"
}
],
"translations": [
{
"action": "CREATE",
"lang": 3,
"closedDescription": "Jour de l\u0027indépendance"
}
]
}
]
}
Response Code: 200 (Success)
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}

Manage Location Closings

Functional Area

Foundation

Business Overview

This service endpoint will be used to create, update or delete location-specific closings, for individual locations.

Service Type

POST

ReST URL

MerchIntegrations/services/foundation/locationClosings/manage

Input Payload Details

Manage - Object. See list of elements for detail

LocationClosings - Object. See list of elements for detail Translations - Object. See list of elements for detail

Sample Input Message
{
"locationClosings": [
{
"action": "CREATE",
"location": 1521,
"locationType": "S",
"closedDate": "2001-12-31",
"closedForSales": "N",
"closedForShipping": "Y",
"closedForReceiving": "Y",
"reason": "Christmas",
"translations": [
{
"action": "CREATE",
"lang": 3,
"reason": "Noël"
}
]
}
]
}
Response Code: 200 (Success)
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}

Manage Warehouse

Functional Area

Organizational Hierarchy - Warehouses

Business Overview

This service supports the maintenance of physical warehouses and their associated virtual warehouses, along with related data such as addresses and translations based on the request from an external system if Merchandising is not the system of record for organizational hierarchy information. Warehouse creation also supports importing custom flexible attributes (CFAS) from an external system.

Valid actions are Create, Update and Delete.

When the provided Action is ‘Create’, a new warehouse is created in Merchandising synchronously after the payload is validated first. When creating a new physical warehouse, the payload must include mandatory address details and at least one virtual warehouse.

When the provided Action is ‘Update’, an existing warehouse’s data can be updated after the data has been validated.

When the provided Action is ‘Delete’, an existing physical warehouse and associated data can be deleted. After the data has been validated, the service will add the warehouse to the DAILY_PURGE table for processing deletion through a batch process.

Physical Warehouse Translations

This sub node allows to create, update, or delete translations of a warehouse’s name and secondary name in Merchandising. This service will accept a warehouse, language and name specified in the language, to add or update a translation, or a warehouse and language to delete a translation.

Addresses

This sub node supports maintenance of addresses along with their translations for an existing physical warehouse in Merchandising based on the request from an external system if Merchandising is not the system of record for organizational hierarchy information. Address creation also supports importing custom flexible attributes (CFAS) from an external system.

Valid actions are Create, Update and Delete.

When the provided Action is ‘Create’, a new address is created in Merchandising after the payload has been validated.

When the provided Action is ‘Update’, an existing warehouse’s address data can be updated after the payload has been validated.

When the provided Action is ‘Delete’, an existing address for the physical warehouse and its associated data can be deleted after the payload has been validated.

Address Translations

This sub node allows to create, update, or delete translations of a warehouse’s address in Merchandising. This service will accept a warehouse, in the language, to add or update a translation, or a warehouse and language to delete a translation.

Virtual Warehouses

This sub node supports the maintenance of virtual warehouses and along with related translations based on the request from an external system if Merchandising is not the system of record for organizational hierarchy information. This also supports importing custom flexible attributes (CFAS) from an external system.

Valid actions are Create, Update and Delete.

When a physical warehouse is scheduled for one or more stock counts that are not yet within the lockout period. Newly created virtual warehouses will be added to the existing open stock counts.

Each channel that includes a finishing virtual warehouse must also include a corresponding non-finishing virtual warehouse.

If replenishment is used in Merchandising, each physical warehouse is expected to include a replenishable virtual warehouse.

When the provided Action is ‘Create’, an additional virtual warehouse for the existing physical warehouse is created after the payload has been validated.

When the provided Action is ‘Update’, an existing virtual warehouse’s data is updated after the payload has been validated.

When the provided Action is ‘Delete’, an existing virtual warehouse and associated data can be deleted after the payload has been validated. The service will add the warehouse to the DAILY_PURGE table for processing deletion through a batch process.

Virtual Warehouse Translations

This sub node allows you to create, update, or delete translations of a virtual warehouse’s name and secondary name in Merchandising. This service will accept a warehouse, language and name specified in the language, to add or update a translation, or a warehouse and language to delete a translation.

Note: For action UPDATE and subnodes Physical Warehouse Translations, Address, Address Translations, Virtual Warehouse Translations and CFAS, all the fields are expected to be available. If not provided, all such fields will be updated to null.

Service Type

POST

ReST URL

MerchIntegrations/services/organizationalHierarchy/warehouse/manage

Input Payload Details

Manage - Object. See list of elements for detail

Items - Object. See list of elements for detail

Address - Object. See list of elements for detail

Translation - Object. See list of elements for detail

CustomFlexAttribute - Object. See list of elements for detail

VirtualWarehouse - Object. See list of elements for detail

VirtualWarehouse.Translation - Object. See list of elements for detail

ManageError - Object. See list of elements for detail

Sample Input Message
{
"collectionSize": 1,
"items": [
{
"action": "CREATE",
"physicalWarehouse": 990000001,
"name": "String",
"secondaryName": "String",
"clearSecondaryName": "N",
"email": "String",
"clearEmail": "N",
"currencyCode": "USD",
"inboundHandlingDays": 1,
"deliveryPolicy": "NDD",
"costLocation": 6,
"breakPackWarehouseInd": "N",
"redistributionWarehouseInd": "N",
"taxRegion": 1000,
"taxId": "123456789",
"clearTaxId": "N",
"dunsNumber": "123456789",
"clearDunsNumber": "N",
"dunsLoc": "1234",
"clearDunsLocation": "N",
"reportingLevelType": null,
"clearReportingLevelType": "N",
"reportingLevel": null,
"address": [
{
"action": "CREATE",
"addressType": "01",
"externalReferenceId": "ADDR_01",
"primaryAddressType": "Y",
"primaryAddress": "Y",
"add1": "Primary Address",
"add2": "Suite 100",
"add3": null,
"city": "Redwood City",
"state": "CA",
"country": "US",
"post": "94065",
"county": "San Mateo",
"latitude": "37.5300",
"longitude": "-122.2600",
"jurisdictionCode": null,
"contactName": "Contact",
"contactPhone": "6505550100",
"contactTelex": null,
"contactFax": null,
"contactEmail": "String",
"phone2Type": "MA",
"phone2": "6505550101",
"phone3Type": "WO",
"phone3": "6505550102",
"oracleVendorSiteId": null,
"translation": [
{
"action": "CREATE",
"addressType": "01",
"language": 2,
"add1": "Primaere Adresse",
"add2": "Uebersetzte Suite 100",
"add3": null,
"city": "Redwood City DE",
"contactName": "Uebersetzter Kontakt",
"county": "Uebersetzter Bezirk"
}
],
"customFlexAttribute": [
{
"name": "ADDR_PC",
"value": "10001",
"valueDate": "2001-12-31"
}
]
}
],
"virtualWarehouse": [
{
"action": "CREATE",
"virtualWarehouse": 990000002,
"name": "String",
"secondaryName": "String",
"clearSecondaryName": "N",
"primaryVirtualWarehouseInd": "Y",
"orgEntityType": "R",
"channel": 1,
"virtualWarehouseType": "CS_NT",
"transferEntity": 1379346183,
"organizationalUnit": 385168665527164,
"legalEntity": null,
"clearLegalEntity": "N",
"pricingLocation": 6,
"defaultWarehouse": null,
"roundingWarehouse": null,
"protectedInd": "N",
"restrictedInd": "N",
"forecastableInd": "Y",
"replenishmentWarehouseInd": "Y",
"replenishmentWarehouseLink": null,
"sourceSequence": null,
"investmentBuyWarehouseInd": "N",
"investmentBuyWarehouseLink": null,
"inventoryBuyAutoClearInventory": "N",
"finisherInd": "N",
"customerOrderInd": "N",
"customerShippingInd": "N",
"giftWrappingInd": "N",
"translation": [
{
"action": "CREATE",
"language": 2,
"warehouseName": "Physisches Lager",
"warehouseSecondaryName": "Physisches Lager Zweitname"
}
],
"customFlexAttribute": [
{
"name": "ADDR_PC",
"value": "10001",
"valueDate": "2001-12-31"
}
]
}
],
"translation": [
{
"action": "CREATE",
"language": 2,
"warehouseName": "Physisches Lager",
"warehouseSecondaryName": "Physisches Lager Zweitname"
}
],
"customFlexAttribute": [
{
"name": "ADDR_PC",
"value": "10001",
"valueDate": "2001-12-31"
}
]
}
]
}
Response Code: 200 (Success)
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

ManageError - Object. See list of elements for detail

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
],
"businessError": [
{
"physicalWarehouse": 987654321,
"addressType": "01",
"externalReferenceId": "ADDR_01",
"virtualWarehouse": 987654322,
"language": 2,
"cfaName": "ADDR_PC",
"errorMessage": [
"Invalid value for deliveryPolicy."
]
}
]
}

Organizational Hierarchy Download Service

The following services are included in this functional area:

  • Get Organizational Hierarchy for Provided Level

  • Get Organizational Hierarchy for Provided Level and Hierarchy Identifier

  • Get Organizational Hierarchy

Get Organizational Hierarchy for Provided Level

Endpoints
MerchIntegrations/services/foundation/orghier
MerchIntegrations/services/foundation/orghier/{orgLevel}
MerchIntegrations/services/foundation/orghier/{param1}/{param2}
Functional Area

Organizational Hierarchy

Business Overview

This service publishes organizational hierarchy master data to downstream consuming systems. It publishes the company, chain, area, region, and district nodes used to describe the organizational structure, together with hierarchy name, manager name, currency code, and parent-hierarchy linkage. Functionally, only the five organizational levels COMPANY, CHAIN, AREA, REGION, and DISTRICT are published; store and warehouse nodes are not part of this external API even though the broader org-hierarchy framework also uses those levels elsewhere.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: COMPHEAD, CHAIN, AREA, REGION, DISTRICT

Additional business tables: SYSTEM_OPTIONS, CODE_DETAIL

JSON cache table: MERCHAPI_EXT_ORGHIER

JSON generation view: V_MERCHAPI_EXT_ORGHIER_JSON

Builds the payload by unioning COMPHEAD, CHAIN, AREA, REGION, and DISTRICT, uses SYSTEM_OPTIONS to supply the company currency code, and uses CODE_DETAIL to translate internal hierarchy codes into the published hierarchy-level values and their numeric sequence order.

The view only publishes the five organizational levels COMPANY, CHAIN, AREA, REGION, and DISTRICT; store and warehouse nodes are not part of this external API even though the broader org-hierarchy framework also uses those levels elsewhere.

Initial refresh supports both truncate-and-load and rebuild behavior, and rebuild marks cache rows deleted when a hierarchy node no longer exists in V_MERCHAPI_EXT_ORGHIER_JSON.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild pull published rows from V_MERCHAPI_EXT_ORGHIER_JSON. No additional filter criteria were identified beyond the cache-build logic.

Mark cache rows deleted when the hierarchy node no longer exists in V_MERCHAPI_EXT_ORGHIER_JSON.

ICL (Integration Change Log) table: ICL_RMS_COMPHEAD, ICL_RMS_CHAIN, ICL_RMS_AREA, ICL_RMS_REGION, ICL_RMS_DISTRICT (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on COMPHEAD, CHAIN, AREA, REGION, DISTRICT.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_ORGHIER

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_ORG_HIER_ADHOC_PROCESS MERCHAPI_EXT_ORG_HIER_ADHOC_JOB

Webhook configuration api name: foundation/orghier

Special handling
Service Type
GET
ReST URL

MerchIntegrations/services/foundation/orghier

MerchIntegrations/services/foundation/orghier/{orgLevel}

MerchIntegrations/services/foundation/orghier/{param1}/{param2}

Input Parameters for MerchIntegrations/services/foundation/orghier

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoString (15)Offset key ([level
order],[hierarchy id]
Example: 30,17)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-1077 Input Parameter for “MerchIntegrations/services/foundation/orghier/ {orgLevel}“

Parameter NameRequiredData TypeDescription
orgLevelYesStringOrganization level -
COMPANY or CHAIN
or AREA or REGION or
DISTRICT
offsetkeyNoString (15)Offset key ([level
order],[hierarchy id]
Example: 30,17)
limitNoString (6)Pagination limit.
Default value is 1000.

Table 5-1077 (Cont.) Input Parameter for “MerchIntegrations/services/foundation/ orghier/{orgLevel}“

Parameter NameRequiredData TypeDescription
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-1078 Input Parameter for “MerchIntegrations/services/foundation/orghier/ {param1}/{param2}“

Parameter NameRequiredData TypeDescription
param1YesStringOrganization level -
COMPANY or CHAIN
or AREA or REGION or
DISTRICT
param2YesString (10)Hirerachy Id
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Input Parameters for MerchIntegrations/services/foundation/orghier/{orgLevel}

Parameter NameRequire
d
Data TypeDescription
orgLevelYesStringLevel of the organization hierarchy. Valid
values are COMPANY, CHAIN, AREA,
REGION, DISTRICT.
offsetkeyNoStringOffset Key. Valid Value is combination of
sort_order_seq and node id.
limitNoBigDecima
l
Pagination limit. Default Value is 1000.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
Parameter NameRequire
d
Data TypeDescription
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input Parameters for MerchIntegrations/services/foundation/orghier/{param1}/{param2}

Parameter NameRequire
d
Data TypeDescription
param1YesStringThis is the organization hierarchy level.
Valid values are COMPANY, CHAIN, AREA,
REGION, DISTRICT.
param2YesStringThis is the hierarchy ID.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Output - Diff ID

Table 5-1079 PageResultsItemsMerchApiOrghier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1080 MerchApiOrghier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for
organizational
hierarchy details.
hierarchyLevelNoString (10)This feld contains the
organizational
hierarchy level.
hierarchyIdNoNumber(10,0)This feld contains the
number that uniquely
identifes the
hierarchy value.
hierarchyNameNoString (120)This feld contains the
description of the
hierarchy value.
managerNameNoString (120)This feld contains the
manager’s name.
currencyCodeNoString (3)This feld contains the
currency code for the
hierarchy.
parentHierarchyIdNoNumber(10,0)This feld contains the
identifer of the parent
hierarchy value.
parentHierarchyLevelNoString (10)This feld contains the
parent level of the
current organizational
hierarchy.
createDateTimeNodateTimeThis feld holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated (UTC).
cacheTimestampNodateTimeThis feld specifes the
date and time when
the organization
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1081 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"hierarchyLevel": null,
"hierarchyId": 1,
"hierarchyName": "hierDesc",
"managerName": "mgrName",
"currencyCode": "USD",
"parentHierarchyId": 1,
"parentHierarchyLevel": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_CHAINYesNoYesYes
ICL_RMS_COMPHEADYesNoYesYes
ICL_RMS_AREAYesNoYesYes
ICL_RMS_REGIONYesNoYesYes
ICL_RMS_DISTRICTYesNoYesYes
MERCHAPI_EXT_ORGHIERYesYesYesYes
V_ MERCHAPI_EXT_ORGHIER _JSONYesNoNoNo

Get Organizational Hierarchy for Provided Level and Hierarchy Identifier

Endpoints
MerchIntegrations/services/foundation/orghier
MerchIntegrations/services/foundation/orghier/{orgLevel}
MerchIntegrations/services/foundation/orghier/{param1}/{param2}
Functional Area

Organizational Hierarchy

Business Overview

This service publishes organizational hierarchy master data to downstream consuming systems. It publishes the company, chain, area, region, and district nodes used to describe the organizational structure, together with hierarchy name, manager name, currency code, and parent-hierarchy linkage. Functionally, only the five organizational levels COMPANY, CHAIN, AREA, REGION, and DISTRICT are published; store and warehouse nodes are not part of this external API even though the broader org-hierarchy framework also uses those levels elsewhere.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: COMPHEAD, CHAIN, AREA, REGION, DISTRICT

Additional business tables: SYSTEM_OPTIONS, CODE_DETAIL

JSON cache table: MERCHAPI_EXT_ORGHIER

JSON generation view: V_MERCHAPI_EXT_ORGHIER_JSON

Builds the payload by unioning COMPHEAD, CHAIN, AREA, REGION, and DISTRICT, uses SYSTEM_OPTIONS to supply the company currency code, and uses CODE_DETAIL to translate internal hierarchy codes into the published hierarchy-level values and their numeric sequence order.

The view only publishes the five organizational levels COMPANY, CHAIN, AREA, REGION, and DISTRICT; store and warehouse nodes are not part of this external API even though the broader org-hierarchy framework also uses those levels elsewhere.

Initial refresh supports both truncate-and-load and rebuild behavior, and rebuild marks cache rows deleted when a hierarchy node no longer exists in V_MERCHAPI_EXT_ORGHIER_JSON.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild pull published rows from V_MERCHAPI_EXT_ORGHIER_JSON. No additional filter criteria were identified beyond the cache-build logic.

Mark cache rows deleted when the hierarchy node no longer exists in V_MERCHAPI_EXT_ORGHIER_JSON.

ICL (Integration Change Log) table: ICL_RMS_COMPHEAD, ICL_RMS_CHAIN, ICL_RMS_AREA, ICL_RMS_REGION, ICL_RMS_DISTRICT (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on COMPHEAD, CHAIN, AREA, REGION, DISTRICT.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_ORGHIER

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_ORG_HIER_ADHOC_PROCESS MERCHAPI_EXT_ORG_HIER_ADHOC_JOB

Webhook configuration api name: foundation/orghier

Special handling
Service Type

GET

ReST URL

MerchIntegrations/services/foundation/orghier

MerchIntegrations/services/foundation/orghier/{orgLevel}

MerchIntegrations/services/foundation/orghier/{param1}/{param2}

Input Parameters for MerchIntegrations/services/foundation/orghier

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoString (15)Offset key ([level
order],[hierarchy id]
Example: 30,17)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-1082 Input Parameter for “MerchIntegrations/services/foundation/orghier/ {orgLevel}“

Parameter NameRequiredData TypeDescription
orgLevelYesStringOrganization level -
COMPANY or CHAIN
or AREA or REGION or
DISTRICT
offsetkeyNoString (15)Offset key ([level
order],[hierarchy id]
Example: 30,17)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-1083 Input Parameter for “MerchIntegrations/services/foundation/orghier/ {param1}/{param2}“

Parameter NameRequiredData TypeDescription
param1YesStringOrganization level -
COMPANY or CHAIN
or AREA or REGION or
DISTRICT
param2YesString (10)Hirerachy Id
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Input Parameters for MerchIntegrations/services/foundation/orghier/{orgLevel}

Parameter NameRequire
d
Data TypeDescription
orgLevelYesStringLevel of the organization hierarchy. Valid
values are COMPANY, CHAIN, AREA,
REGION, DISTRICT.
offsetkeyNoStringOffset Key. Valid Value is combination of
sort_order_seq and node id.
limitNoBigDecima
l
Pagination limit. Default Value is 1000.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input Parameters for MerchIntegrations/services/foundation/orghier/{param1}/{param2}

Parameter NameRequire
d
Data TypeDescription
param1YesStringThis is the organization hierarchy level.
Valid values are COMPANY, CHAIN, AREA,
REGION, DISTRICT.
param2YesStringThis is the hierarchy ID.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
Parameter NameRequire
d
Data TypeDescription
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)
Output - Diff ID

Table 5-1084 PageResultsItemsMerchApiOrghier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1085 MerchApiOrghier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for
organizational
hierarchy details.
hierarchyLevelNoString (10)This feld contains the
organizational
hierarchy level.
hierarchyIdNoNumber(10,0)This feld contains the
number that uniquely
identifes the
hierarchy value.
hierarchyNameNoString (120)This feld contains the
description of the
hierarchy value.
managerNameNoString (120)This feld contains the
manager’s name.

Table 5-1085 (Cont.) MerchApiOrghier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
currencyCodeNoString (3)This feld contains the
currency code for the
hierarchy.
parentHierarchyIdNoNumber(10,0)This feld contains the
identifer of the parent
hierarchy value.
parentHierarchyLevelNoString (10)This feld contains the
parent level of the
current organizational
hierarchy.
createDateTimeNodateTimeThis feld holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated (UTC).
cacheTimestampNodateTimeThis feld specifes the
date and time when
the organization
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1086 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"hierarchyLevel": null,
"hierarchyId": 1,
"hierarchyName": "hierDesc",
"managerName": "mgrName",
"currencyCode": "USD",
"parentHierarchyId": 1,
"parentHierarchyLevel": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_CHAINYesNoYesYes
ICL_RMS_COMPHEADYesNoYesYes
ICL_RMS_AREAYesNoYesYes
ICL_RMS_REGIONYesNoYesYes
ICL_RMS_DISTRICTYesNoYesYes
MERCHAPI_EXT_ORGHIERYesYesYesYes
V_ MERCHAPI_EXT_ORGHIER _JSONYesNoNoNo

Get Organizational Hierarchy

Endpoints
MerchIntegrations/services/foundation/orghier
MerchIntegrations/services/foundation/orghier/{orgLevel}
MerchIntegrations/services/foundation/orghier/{param1}/{param2}
Functional Area

Organizational Hierarchy

Business Overview

This service publishes organizational hierarchy master data to downstream consuming systems. It publishes the company, chain, area, region, and district nodes used to describe the organizational structure, together with hierarchy name, manager name, currency code, and parent-hierarchy linkage. Functionally, only the five organizational levels COMPANY, CHAIN, AREA, REGION, and DISTRICT are published; store and warehouse nodes are not part of this external API even though the broader org-hierarchy framework also uses those levels elsewhere.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: COMPHEAD, CHAIN, AREA, REGION, DISTRICT

Additional business tables: SYSTEM_OPTIONS, CODE_DETAIL

JSON cache table: MERCHAPI_EXT_ORGHIER

JSON generation view: V_MERCHAPI_EXT_ORGHIER_JSON

Builds the payload by unioning COMPHEAD, CHAIN, AREA, REGION, and DISTRICT, uses SYSTEM_OPTIONS to supply the company currency code, and uses CODE_DETAIL to translate internal hierarchy codes into the published hierarchy-level values and their numeric sequence order.

The view only publishes the five organizational levels COMPANY, CHAIN, AREA, REGION, and DISTRICT; store and warehouse nodes are not part of this external API even though the broader org-hierarchy framework also uses those levels elsewhere.

Initial refresh supports both truncate-and-load and rebuild behavior, and rebuild marks cache rows deleted when a hierarchy node no longer exists in V_MERCHAPI_EXT_ORGHIER_JSON.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild pull published rows from V_MERCHAPI_EXT_ORGHIER_JSON. No additional filter criteria were identified beyond the cache-build logic.

Mark cache rows deleted when the hierarchy node no longer exists in V_MERCHAPI_EXT_ORGHIER_JSON.

ICL (Integration Change Log) table: ICL_RMS_COMPHEAD, ICL_RMS_CHAIN, ICL_RMS_AREA, ICL_RMS_REGION, ICL_RMS_DISTRICT (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on COMPHEAD, CHAIN, AREA, REGION, DISTRICT.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_ORGHIER

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_ORG_HIER_ADHOC_PROCESS MERCHAPI_EXT_ORG_HIER_ADHOC_JOB

Webhook configuration api name: foundation/orghier

Special handling
Service Type

GET

ReST URL

MerchIntegrations/services/foundation/orghier

MerchIntegrations/services/foundation/orghier/{orgLevel}

MerchIntegrations/services/foundation/orghier/{param1}/{param2}

Input Parameters for MerchIntegrations/services/foundation/orghier
Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoString (15)Offset key ([level
order],[hierarchy id]
Example: 30,17)
limitNoString (6)Pagination limit.
Default value is 1000.
Parameter NameRequiredData TypeDescription
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-1087 Input Parameter for “MerchIntegrations/services/foundation/orghier/ {orgLevel}“

Parameter NameRequiredData TypeDescription
orgLevelYesStringOrganization level -
COMPANY or CHAIN
or AREA or REGION or
DISTRICT
offsetkeyNoString (15)Offset key ([level
order],[hierarchy id]
Example: 30,17)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-1088 Input Parameter for “MerchIntegrations/services/foundation/orghier/ {param1}/{param2}“

Parameter NameRequiredData TypeDescription
param1YesStringOrganization level -
COMPANY or CHAIN
or AREA or REGION or
DISTRICT
param2YesString (10)Hirerachy Id
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)

Table 5-1088 (Cont.) Input Parameter for “MerchIntegrations/services/foundation/ orghier/{param1}/{param2}“

Parameter NameRequiredData TypeDescription
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Input Parameters for MerchIntegrations/services/foundation/orghier/{orgLevel}

Parameter NameRequire
d
Data TypeDescription
orgLevelYesStringLevel of the organization hierarchy. Valid
values are COMPANY, CHAIN, AREA,
REGION, DISTRICT.
offsetkeyNoStringOffset Key. Valid Value is combination of
sort_order_seq and node id.
limitNoBigDecima
l
Pagination limit. Default Value is 1000.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Input Parameters for MerchIntegrations/services/foundation/orghier/{param1}/{param2}

Parameter NameRequire
d
Data TypeDescription
param1YesStringThis is the organization hierarchy level.
Valid values are COMPANY, CHAIN, AREA,
REGION, DISTRICT.
param2YesStringThis is the hierarchy ID.
includeNoStringFields to include - comma separated
(Example items.name,items.address.city)
excludeNoStringFields to exclude - comma separated
(Example
items.address.contactFax,items.customFlexA
ttribute)

Output - Diff ID

Table 5-1089 PageResultsItemsMerchApiOrghier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records

Table 5-1089 (Cont.) PageResultsItemsMerchApiOrghier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1090 MerchApiOrghier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for
organizational
hierarchy details.
hierarchyLevelNoString (10)This feld contains the
organizational
hierarchy level.
hierarchyIdNoNumber(10,0)This feld contains the
number that uniquely
identifes the
hierarchy value.
hierarchyNameNoString (120)This feld contains the
description of the
hierarchy value.
managerNameNoString (120)This feld contains the
manager’s name.
currencyCodeNoString (3)This feld contains the
currency code for the
hierarchy.
parentHierarchyIdNoNumber(10,0)This feld contains the
identifer of the parent
hierarchy value.
parentHierarchyLevelNoString (10)This feld contains the
parent level of the
current organizational
hierarchy.

Table 5-1090 (Cont.) MerchApiOrghier - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis feld holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated (UTC).
cacheTimestampNodateTimeThis feld specifes the
date and time when
the organization
hierarchy record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1091 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"hierarchyLevel": null,
"hierarchyId": 1,
"hierarchyName": "hierDesc",
"managerName": "mgrName",
"currencyCode": "USD",
"parentHierarchyId": 1,
"parentHierarchyLevel": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_CHAINYesNoYesYes
ICL_RMS_COMPHEADYesNoYesYes
ICL_RMS_AREAYesNoYesYes
ICL_RMS_REGIONYesNoYesYes
ICL_RMS_DISTRICTYesNoYesYes
MERCHAPI_EXT_ORGHIERYesYesYesYes
V_ MERCHAPI_EXT_ORGHIER _JSONYesNoNoNo

Organizational Hierarchy Upload Service

The following services are included in this functional area:

  • Create Organizational Hierarchy

  • Delete Organizational Hierarchy

  • Update Organizational Hierarchy

Create Organizational Hierarchy

Functional Area

Organizational Hierarchy

Business Overview

If Merchandising is not the system of record for organizational hierarchy information for an implementation, then this service may be used to create hierarchy based on an external system.

The following organizational hierarchy elements can be created using this service: chain, area, region, or district. The organizational hierarchy must be created from the highest level down.

Service Type

POST

ReST URL
MerchIntegrations/services/organizationalHierarchy/create
Input Payload Details

Table 5-1092 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hierarchyValueYesNumber (10)The ID of the specifed hierarchy
level. This value must be unique
among other values of the same
hierarchy level.
hierarchyDescriptionYesString (120)The description of the hierarchy
value.
hierarchyLevelYesString (2)The hierarchy level of the hierarchy
value. This feld will indicate the level
of the organizational hierarchy to
which the cost change applies. Valid
values are CH (chain), AR (area), RE
(region), DI (district).
parentHierarchyIdNoNumber (10)The ID of the hierarchy value’s parent
hierarchy value. This value must be
predefned on either the CHAIN,
AREA or REGION table.
managerNameNoString (120)The manager name of the hierarchy
value.
currencyCodeNoString (3)The code which identifes the
currency under which the hierarchy
value operates. This value must be
predefned on the CURRENCIES table.
Sample Input Message
{
  • "hierarchyValue": 6,

  • "hierarchyDescription": "6 South East",

  • "hierarchyLevel": "AR",

  • "parentHierarchyId": 3,

  • "managerName": "McMillan",

  "currencyCode": "USD"
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Delete Organizational Hierarchy

Functional Area

Organizational Hierarchy

Business Overview

If Merchandising is not the system of record for organizational hierarchy information for an implementation, then this service may be used to delete an existing hierarchy in Merchandising based on the request from an external system.

The following organizational hierarchy elements can be deleted using this service: chain, area, region, or district. The organizational hierarchy must be deleted from the lowest level up.

Service Type

DELETE

ReST URL
MerchIntegrations/services/organizationalHierarchy/delete
Input Payload Details

Table 5-1093 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hierarchyValueYesNumber (10)The ID of the specifed hierarchy
level. This value must be unique
among other values of the same
hierarchy level.
hierarchyLevelYesString (2)The hierarchy level of the hierarchy
value. This feld will indicate the level
of the organizational hierarchy to
which the cost change applies. Valid
values are CH (chain), AR (area), RE
(region), DI (district).
Sample Input Message
{
  "hierarchyValue": 4,
  "hierarchyLevel": "CH"
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Update Organizational Hierarchy

Functional Area
Organizational Hierarchy
Business Overview

If Merchandising is not the system of record for organizational hierarchy information for an implementation, then this service may be used to update an existing hierarchy based on the request from an external system.

The following organizational hierarchy elements can be modified using this service: chain, area, region, or district.

Service Type

PUT

ReST URL
MerchIntegrations/services/organizationalHierarchy/update
Input Payload Details

Table 5-1094 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hierarchyValueYesNumber (10)The ID of the specifed hierarchy
level. This value must be unique
among other values of the same
hierarchy level.
hierarchyDescriptionYesString (120)The description of the hierarchy
value.
hierarchyLevelYesString (2)The hierarchy level of the hierarchy
value. This feld will indicate the level
of the organizational hierarchy to
which the cost change applies. Valid
values are CH (chain), AR (area), RE
(region), DI (district).
parentHierarchyIdNoNumber (10)The ID of the hierarchy value’s parent
hierarchy value. This value must be
predefned on either the CHAIN,
AREA or REGION table.
managerNameNoString (120)The manager name of the hierarchy
value.
currencyCodeNoString (3)The code which identifes the
currency under which the hierarchy
value operates. This value must be
predefned on the CURRENCIES table.
Sample Input Message
{
  "hierarchyValue": 4,
  "hierarchyDescription": "Chain 4 North America",
  "hierarchyLevel": "CH",
  "parentHierarchyId": 117516,
  "managerName": "McCarthy",
  "currencyCode": "USD"
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Stores

The following services are included in this functional area:

  • Store Download Service

    • Get Basic Store Details

    • Get Store Details

    • Get Store Details for Provided Store

  • Store Upload Service

    • Create Store

    • Create Store Address

Create Store Department Up Charges
  • Create Store Hours

  • Create Store Location Trait

  • Create Walk-Through Store

  • Delete Store

  • Delete Store Address

  • Delete Store Department Up Charges

  • Delete Store Hours

  • Delete Store Location Trait

  • Delete Walk-Through Store

  • Update Store

  • Update Store Address

  • Update Store Department Up Charges

  • Update Store Hours

  • Stores by Hierarchy Level Upload Service

    • Create Store Location Trait by Hierarchy Level

  • Delete Store Location Trait by Hierarchy Level

Store Download Service

The following services are included in this functional area:

  • Get Basic Store Details

  • Get Store Details

  • Get Store Details for Provided Store

Get Basic Store Details

This section describes the Store Detail service.

Business Overview

Store Detail service allows user to retrieve Store information for a selected store or for all stores.

Service Type

Get

ReST URL

Store/storeDetail?store={storeNumber}

Input Parameters

Parameter NameRequiredDescription
StoreNoStore ID. If none is specified, all stores will
be retrieved.

Output

RestStoreRecRDO
Parameter NameData Type
storeBigDecimal
storeNameString
storeName10String
storeName3String
storeNameSecondaryString
storeClassString
storeOpenDateTimestamp
storeCloseDateTimestamp
acquiredDateTimestamp
remodelDateTimestamp
vatRegionBigDecimal
vatIncludeIndString
stockholdingIndString
channelIdBigDecimal
transferZoneBigDecimal
defaultWhBigDecimal
stopOrderDaysBigDecimal
startOrderDaysBigDecimal
currencyCodeString
langBigDecimal
dunsNumberString
dunsLocString
sisterStoreBigDecimal
tsfEntityIdBigDecimal
orgUnitIdBigDecimal
storeTypeString
wfCustomerIdBigDecimal
timezoneNameString
customerOrderLocIndString
companyBigDecimal
chainBigDecimal
areaBigDecimal
regionBigDecimal
districtBigDecimal
add1String
add2String
add3String
cityString
stateString
Parameter NameData Type
countryIdString
postString
contactNameString
contactPhoneString
contactEmailString
JSON Structure
{
  "store": null,
  "storeName": null,
  "storeName10": null,
  "storeName3": null,
  "storeNameSecondary": null,
  "storeClass": null,
  "storeOpenDate": null,
  "storeCloseDate": null,
  "acquiredDate": null,
  "remodelDate": null,
  "vatRegion": null,
  "vatIncludeInd": null,
  "stockholdingInd": null,
  "channelId": null,
  "transferZone": null,
  "defaultWh": null,
  "stopOrderDays": null,
  "startOrderDays": null,
  "currencyCode": null,
  "lang": null,
  "dunsNumber": null,
  "dunsLoc": null,
  "sisterStore": null,
  "tsfEntityId": null,
  "orgUnitId": null,
  "storeType": null,
  "wfCustomerId": null,
  "timezoneName": null,
  "customerOrderLocInd": null,
  "company": null,
  "chain": null,
  "area": null,
  "region": null,
  "district": null,
  "add1": null,
  "add2": null,
  "add3": null,
  "city": null,
  "state": null,
  "countryId": null,
  "post": null,
  "contactName": null,
  "contactPhone": null,
  "contactEmail": null,
  "links": [],
  "hyperMediaContent": {
    "linkRDO": []
  }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
V_STOREYesNoNoNo
STORE_HIERARCHYYesNoNoNo
ADDRYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo
Get Store Details

Endpoint

MerchIntegrations/services/foundation/store
MerchIntegrations/services/foundation/store/{storeId}

Functional Area

Organizational Hierarchy - Stores

Business Overview

This service publishes store master data to downstream consuming systems. It publishes the store definition together with primary and additional addresses, store hours, store services, store conditions, and related descriptive attributes used to interpret the store record. There is no explicit filter in V_MERCHAPI_EXT_STORE_JSON, so all STORE rows are eligible for publication.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: STORE, ADDR

Additional business tables: ADD_TYPE_MODULE, V_ADD_TYPE_TL, STATE, COUNTRY, STORE_HOURS, STORE_SERVICE, STORE_CONDITION, CHANNELS, STORE_FORMAT, DISTRICT, TSFZONE, WH, LANG, CODE_DETAIL, STORE_CFA_EXT, ADDR_CFA_EXT

JSON cache table: MERCHAPI_EXT_STORE

JSON generation view: V_MERCHAPI_EXT_STORE_JSON

Builds the store header from STORE, derives the primary address from ADDR joined to ADD_TYPE_MODULE, V_ADD_TYPE_TL, STATE, and COUNTRY, aggregates all store addresses from ADDR, aggregates store hours from STORE_HOURS, store services from STORE_SERVICE, store conditions from STORE_CONDITION, and enriches descriptive values from CHANNELS, STORE_FORMAT, DISTRICT, TSFZONE, WH, LANG, and CODE_DETAIL.

Store- and address-level custom flex attributes are added from MERCHAPI_EXT_STORE_CFA and MERCHAPI_EXT_STORE_ADDR_CFA.

There is no explicit filter in V_MERCHAPI_EXT_STORE_JSON, so functionally all rows from STORE are eligible for publication.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_EXT_STORE_JSON and apply no additional filter criteria; all STORE rows are eligible for publication.

The current REBUILD branch merges changed and new rows only; it does not include a delete-marking pass for stores that disappear from V_MERCHAPI_EXT_STORE_JSON.

ICL (Integration Change Log) table: ICL_RMS_STORE and ICL_RMS_ADDR (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on STORE, and address changes are captured through ICL_RMS_ADDR for ADDR rows on modules ST and WFST.

ICL_RMS_ADDR rows are filtered to MODULE IN (‘ST’,‘WFST’) and republish the parent store payload.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_STORE

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_STORE_ADHOC_PROCESS MERCHAPI_EXT_STORE_ADHOC_JOB

Webhook configuration api name: foundation/store

Service Type
GET
ReST URL

MerchIntegrations/services/foundation/store

MerchIntegrations/services/foundation/store/{storeId}

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
Parameter NameRequiredData TypeDescription
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoStringOffset key (Store)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-1095 Input Parameter for “MerchIntegrations/services/foundation/store/ {storeId}“

Parameter NameRequiredData TypeDescription
storeIdYesNumberStore Id
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-1096 PageResultsItemsMerchApiStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request

Table 5-1096 (Cont.) PageResultsItemsMerchApiStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1097 MerchApiStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for store
details.
storeNoNumber(10,0)This feld contains the
number that uniquely
identifes the store.
storeTypeNoString (6)This feld indicates
whether a particular
store is a franchise or
company store.
storeNameNoString (150)This feld contains the
name of the store
which, along with the
store number,
identifes the store.
storeName10NoString (10)This feld contains a
ten-character
abbreviation of the
store name.
storeName3NoString (3)This feld contains a
three-character
abbreviation of the
store name.
storeClassNoString (1)This feld contains the
code letter indicating
the class of which the
store is a member.
storeClassDescriptionNoString (250)This feld contains the
description indicating
the class of which the
store is a member.
managerNameNoString (120)This feld contains the
name of the store
manager.

Table 5-1097 (Cont.) MerchApiStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
openDateNodateThis feld contains the
date on which the
store opened.
closeDateNodateThis feld contains the
date on which the
store closed.
acquireDateNodateThis feld contains the
date on which the
store was acquired.
remodelDateNodateThis feld contains the
date on which the
store was last
remodeled.
faxNumberNoString (20)This feld contains the
fax number for the
store.
phoneNumberNoString (20)This feld contains the
phone number for the
store.
emailNoString (100)This feld contains the
email address for the
location.
totalSquareFeetNoNumber(8,0)This feld contains the
total square footage of
the store.
sellingSquareFeetNoNumber(8,0)This feld contains the
total square footage of
the store’s selling area.
linearDistanceNoNumber(8,0)This feld contains the
total merchandisable
space of the location.
stockholdingIndNoString (1)This feld indicates
whether the store can
hold stock.
channelIdNoNumber(4,0)This feld contains the
channel with which
the store is associated.
channelNameNoString (120)This feld contains the
channel description
with which the store is
associated.
storeFormatNoNumber(4,0)This feld contains the
number indicating the
format of the store.
Valid values are found
on the store format
table.

Table 5-1097 (Cont.) MerchApiStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeFormatNameNoString (60)This feld contains the
description for the
format of the store.
mallNameNoString (120)This feld contains the
name of the mall in
which the store is
located.
districtNoNumber(10,0)This feld contains the
number of the district
in which the store is a
member.
districtNameNoString (120)This feld contains the
name of the district in
which the store is a
member.
transferZoneNoNumber(4,0)This feld contains the
transfer zone ID in
which the store is
located.
transferZoneDescripti
on
NoString (120)This feld contains the
transfer zone
description in which
the store is located.
defaultWarehouseNoNumber(10,0)This feld contains the
number of the
warehouse that is the
primary sourcing
warehouse for the
store.
stopOrderdaysNoNumber(3,0)This feld contains the
number of days before
a store closing that the
store will stop
accepting orders. This
column will be used
when the store close
date is defned.
startOrderDaysNoNumber(3,0)This feld contains the
number of days before
the store open date
that the store will
begin accepting
orders.
currencyCodeNoString (3)This feld contains the
currency code under
which the store
operates.
languageNoString (6)This feld contains the
ISO code of the
language to be used
for the given store.

Table 5-1097 (Cont.) MerchApiStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
integratedPosIndNoString (1)This feld indicates
whether Sales Audit
should expect fles
from this store for
processing.
dunsNumberNoString (9)This feld contains the
Dun and Bradstreet
number to identify the
store.
dunsLocationNoString (4)This feld contains the
Dun and Bradstreet
number to identify the
location.
pricingStoreNoNumber(10,0)This feld contains the
location from which
pricing records will be
copied for a new store
or will be used to
determine the price
for this store if not
otherwise defned for
an item.
timezoneNameNoString (64)This feld contains the
text value of the time
zone of the store.
pricingStoreCurrencyNoString (3)This feld contains the
currency code of the
location from which
pricing records will be
copied.
orgUnitIdNoNumber(15,0)This feld contains the
organizational unit ID
that this store is
associated with.
storeNameSecondaryNoString (150)This feld contains the
secondary name of the
store.
vatRegionNoNumber(4,0)This feld contains the
ID of the tax region the
store is associated
with.
vatIncludeIndNoString (1)This feld indicates
whether tax will be
included in the retail
prices for the store.

Table 5-1097 (Cont.) MerchApiStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
sisterStoreNoNumber(10,0)This feld contains the
store number that will
be used to relate the
current store to the
historical data of an
existing store. This is
used by Allocation.
trasferEntityIdNoNumber(10,0)This feld contains the
transfer entity ID with
which the store is
associated.
autoReceiveIndNoString (1)This feld indicates
whether receipts for
the store will be made
automatically by
Merchandising.
remerchandisingIndNoString (1)This feld is currently
not used.
franchiseCustomerIdNoNumber(10,0)This feld indicates
which franchise
customer this store is
associated with.
customerOrderLocatio
nInd
NoString (1)This feld indicates
whether the location is
a customer order
location. If the
indicator is Y, then the
location can be used
for sourcing and
fulfllment orders; else
it cannot be used and
inventory information
will not be shared with
OMS.
giftWrappingIndNoString (1)This feld indicates if
the location will
support gift wrapping.
customerOrderShippin
gInd
NoString (1)This feld indicates if
the location will
support shipping to a
customer for customer
orders.
onlineStoreIndNoString (1)This feld indicates
that the store is an
online store.
taxIdNoString (20)This feld contains the
unique tax
identifcation number
of the store.

Table 5-1097 (Cont.) MerchApiStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
primaryAddressTypeNoString (2)This feld specifes the
type for the address.
Valid values are: 01 -
Business, 02 - Postal,
03 - Returns, 04 -
Order, 05 - Invoice, 06 -
Remittance.
primaryAddressTypeD
escription
NoString (40)This feld specifes the
address type
description.
primaryAddressAdd1NoString (240)This feld contains the
frst line of the
address.
primaryAddressAdd2NoString (240)This feld contains the
second line of the
address.
primaryAddressAdd3NoString (240)This feld contains the
third line of the
address.
primaryAddressCityNoString (120)This feld contains the
name of the city that is
associated with the
address.
primaryAddressStateNoString (3)This feld contains the
state abbreviation for
the address.
primaryAddressStateN
ame
NoString (120)This feld contains the
state description for
the address.
primaryAddressCount
ryId
NoString (3)This feld contains the
country where the
address exists.
primaryAddressCount
ryName
NoString (120)This feld contains the
country description
where the address
exists.
primaryAddressPostNoString (30)This feld contains the
zip code for the
address.
primaryAddressContac
tName
NoString (120)This feld contains the
name of the contact
person at this address.
primaryAddressContac
tPhone
NoString (20)This feld contains the
phone number of the
contact person at this
address.
primaryAddressContac
tTelex
NoString (20)This feld contains the
telex number of the
contact person at this
address.

Table 5-1097 (Cont.) MerchApiStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
primaryAddressContac
tFax
NoString (20)This feld contains the
fax number of the
contact person at this
address.
primaryAddressContac
tEmail
NoString (100)This feld contains the
email address of the
contact person at this
address.
primaryAddressPhone
2
NoString (20)This feld contains an
additional phone
number associated
with the primary
address.
primaryAddressPhone
2Type
NoString (6)This feld contains the
type of the phone
number stored in the
primaryAddressPhone
2 feld. Valid values
are AS - Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work, and can also be
found on the codes
table with a code type
of PHTP.
primaryAddressPhone
3
NoString (20)This feld contains a
second additional
phone number
associated with the
primary address.
primaryAddressPhone
3Type
NoString (6)This feld contains the
type of the phone
number stored in the
primaryAddressPhone
3 feld. Valid values
are AS - Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work, and can also be
found on the codes
table with a code type
of PHTP.
primaryAddressLatitu
de
NoString (30)This feld contains the
north-south
geographic coordinate
of the primary
address, represented
in decimal degrees.

Table 5-1097 (Cont.) MerchApiStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
primaryAddressLongit
ude
NoString (30)This feld contains the
east-west geographic
coordinate of the
primary address,
represented in
decimal degrees.
primaryAddressOracle
VendorSiteId
NoNumber(15,0)This feld contains the
Oracle vendor site ID.
primaryAddressCount
y
NoString (250)This feld contains the
county where the
address exists.
primaryAddressJurisdi
ctionCode
NoString (10)This feld contains the
ID associated with the
tax jurisdiction of the
country-state
relationship.
createDateTimeNodateTimeThis feld holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated (UTC).
customFlexAttributeNoCollection of ObjectThis List holds custom
fex attributes for the
Store.
addressNoCollection of ObjectThis List holds all the
Store addresses.
storeHoursNoCollection of ObjectThis List holds all the
Store Hours attributes.
storeServicesNoCollection of ObjectThis List holds all the
Store Services
attributes. Each
StoreService element
contains the code
representing the store
service provided at the
store and its creation
datetime.
storeConditionsNoCollection of ObjectThis List holds all the
Store Conditions
attributes.
storeTranslationsNoCollection of ObjectThis List holds all the
store translations,
providing language-
specifc store names
and details.

Table 5-1097 (Cont.) MerchApiStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
cacheTimestampNodateTimeThis feld specifes the
date and time when
the store record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1098 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-1099 Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
addressKeyNoNumber(11,0)This feld contains the
unique address key.
addressTypeNoString (2)This feld specifes the
type for the address.
Valid values are: 01 -
Business, 02 - Postal,
03 - Returns, 04 -
Order, 05 - Invoice, 06 -
Remittance.

Table 5-1099 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
addressTypeDescriptio
n
NoString (40)This feld specifes the
address type
description.
primaryAddressIndNoString (1)This feld indicates
whether the address is
the primary address
for the address type.
add1NoString (240)This feld contains the
frst line of the
address.
add2NoString (240)This feld contains the
second line of the
address.
add3NoString (240)This feld contains the
third line of the
address.
cityNoString (120)This feld contains the
name of the city that is
associated with the
address.
stateNoString (3)This feld contains the
state abbreviation that
is associated with the
address.
stateNameNoString (120)This feld contains the
state description that
is associated with the
address.
countryIdNoString (3)This feld contains the
country where the
address exists.
countryNameNoString (120)This feld contains the
country description
that is associated with
the address.
postNoString (30)This feld contains the
zip code for the
address.
contactNameNoString (120)This feld contains the
name of the contact
person at this address.
contactPhoneNoString (20)This feld contains the
phone number of the
contact person at this
address.
contactTelexNoString (20)This feld contains the
telex number of the
contact person at this
address.

Table 5-1099 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
contactFaxNoString (20)This feld contains the
fax number of the
contact person at this
address.
contactEmailNoString (100)This feld contains the
email address of the
contact person at this
address.
phone2TypeNoString (6)This feld contains the
type of the phone
number stored in the
phone2 feld. Valid
values are AS -
Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work, and can also be
found on the codes
table with a code type
of PHTP.
phone2NoString (20)This feld contains an
additional phone
number associated
with the address.
phone3TypeNoString (6)This feld contains the
type of the phone
number stored in the
phone3 feld. Valid
values are AS -
Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work, and can also be
found on the codes
table with a code type
of PHTP.
phone3NoString (20)This feld contains a
second additional
phone number
associated with the
address.
latitudeNoString (30)This feld contains the
north-south
geographic coordinate
of the address,
represented in
decimal degrees.

Table 5-1099 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
longitudeNoString (30)This feld contains the
east-west geographic
coordinate of the
address, represented
in decimal degrees.
countyNoString (250)This feld contains the
county where the
address exists.
jurisdictionCodeNoString (10)This feld contains the
ID associated with the
tax jurisdiction of the
country-state
relationship.
createDateTimeNodateTimeThis feld holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated (UTC).
customFlexAttributeNoCollection of ObjectThis List holds custom
fex attributes for the
warehouse’s address.

Table 5-1100 StoreHours - Object. See list of elements for detail

Element NameRequiredData TypeDescription
dayNoNoNumber(1,0)This feld contains the
numeric value that
indicates the day that
the open and close
times pertain to. Valid
values are 1-Sunday, 2-
Monday, 3-Tuesday, 4-
Wednesday, 5-
Thursday, 6-Friday, or
7-Saturday.
storeOpenTimeNoString (8)This feld contains the
open time for the store
for each day of the
week. The time format
will be in HH:MM AM
or HH:MM PM.
storeCloseTimeNoString (8)This feld contains the
close time for the store
for each day of the
week. The time format
will be in HH:MM AM
or HH:MM PM.

Table 5-1100 (Cont.) StoreHours - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis feld holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated (UTC).

Table 5-1101 StoreService - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeServiceNoString (6)This feld contains the
code representing the
store service provided
at the store.
createDateTimeNodateTimeThis feld holds the
record creation date
and time of the store
service (UTC).

Table 5-1102 StoreConditions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
conditionTypeNoString (6)This feld holds the
condition type
confgured under code
type SCND with the
used indicator set to Y.
startDateNodateThis feld holds the
start date of the
condition.
endDateNodateThis feld holds the
end date of the
condition.
commentsNoString (250)This feld holds the
extra information
about the condition
setup.
createDateTimeNodateTimeThis feld holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated (UTC).

Table 5-1103 StoreTranslation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageCodeNoStringThe short code for the
language (e.g. EN, FR).
languageNameNoStringThe name of the
language (e.g. English,
French).
isoCodeNoStringThe ISO code for the
language (e.g. en_US,
fr_FR).
storeNameNoStringThe store name in this
language.
storeNameSecondaryNoStringThe secondary store
name in this language.
createDateTimeNoStringRecord creation
datetime for this
translation.
updateDateTimeNoStringDatetime this
translation was last
updated.

Table 5-1104 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"store": 6000,
"storeType": null,
"storeName": "storeName",
"storeName10": null,
"storeName3": null,
"storeClass": null,
"storeClassDescription": null,
"managerName": "storeMgrName",
"openDate": "2001-12-31",
"closeDate": "2001-12-31",
"acquireDate": "2001-12-31",
"remodelDate": "2001-12-31",
"faxNumber": null,
"phoneNumber": "1800800800",
"email": "someone@email.com",
"totalSquareFeet": 1,
"sellingSquareFeet": 1,
"linearDistance": 1,
"stockholdingInd": "Y",
"channelId": 1,
"channelName": null,
"storeFormat": 1,
"storeFormatName": null,
"mallName": "mallName",
"district": 1,
"districtName": null,
"transferZone": 1,
"transferZoneDescription": null,
"defaultWarehouse": 1,
"stopOrderdays": 1,
"startOrderDays": 1,
"currencyCode": "USD",
"language": null,
"integratedPosInd": "Y",
"dunsNumber": null,
"dunsLocation": null,
"pricingStore": 1,
"timezoneName": "timezoneName",
"pricingStoreCurrency": null,
"orgUnitId": 1,
"storeNameSecondary": "storeNameSecondary",
"vatRegion": 1,
"vatIncludeInd": "Y",
"sisterStore": 1,
"trasferEntityId": 1,
"autoReceiveInd": null,
"remerchandisingInd": null,
"franchiseCustomerId": 1,
"customerOrderLocationInd": "Y",
"giftWrappingInd": "Y",
"customerOrderShippingInd": "Y",
"onlineStoreInd": "Y",
"taxId": null,
"primaryAddressType": "01",
"primaryAddressTypeDescription": null,
"primaryAddressAdd1": "101 First Street",
"primaryAddressAdd2": "201 Second Street",
"primaryAddressAdd3": null,
"primaryAddressCity": "Minneapolis",
"primaryAddressState": "MN",
"primaryAddressStateName": "stateName",
"primaryAddressCountryId": "US",
"primaryAddressCountryName": "countryName",
"primaryAddressPost": "55555-1234",
"primaryAddressContactName": "contactName",
"primaryAddressContactPhone": "1800800800",
"primaryAddressContactTelex": null,
"primaryAddressContactFax": "617-897-0902",
"primaryAddressContactEmail": "someone@email.com",
"primaryAddressPhone2": "5551234567",
"primaryAddressPhone2Type": "WO",
"primaryAddressPhone3": "5551234567",
"primaryAddressPhone3Type": "WO",
"primaryAddressLatitude": "44.38129",
"primaryAddressLongitude": "-92.03521",
"primaryAddressOracleVendorSiteId": 1,
"primaryAddressCounty": "Some County",
"primaryAddressJurisdictionCode": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"address": [
{
"addressKey": 114772,
"addressType": "01",
"addressTypeDescription": null,
"primaryAddressInd": "Y",
"add1": "101 First Street",
"add2": "201 Second Street",
"add3": null,
"city": "Minneapolis",
"state": "MN",
"stateName": "MN",
"countryId": "US",
"countryName": "US",
"post": "55555-1234",
"contactName": "Laura Johnson",
"contactPhone": "1800800800",
"contactTelex": null,
"contactFax": "617-897-0902",
"contactEmail": "someone@email.com",
"phone2Type": "WO",
"phone2": "5551234567",
"phone3Type": "WO",
"phone3": "5551234567",
"latitude": "44.38129",
"longitude": "-92.03521",
"county": null,
"jurisdictionCode": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
],
"storeHours": [
{
"dayNo": 1,
"storeOpenTime": null,
"storeCloseTime": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"storeServices": [
{
"storeService": null,
"createDateTime": "2001-12-31T23:59:59.000Z"
}
],
"storeConditions": [
{
"conditionType": null,
"startDate": "2001-12-31",
"endDate": "2001-12-31",
"comments": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"storeTranslations": [
{
"languageCode": "String",
"languageName": "String",
"isoCode": "String",
"storeName": "String",
"storeNameSecondary": "String",
"createDateTime": "String",
"updateDateTime": "String"
}
],
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoYesNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_STOREYesNoYesYes
ICL_RMS_ADDRYesNoYesYes
ADDRYesNoNoNo
STORE_CFA_EXTYesNoNoNo
ADDR_CFA_EXT CFAYesNoNoNo
MERCHAPI_EXT_STORE_CFANoYesNoYes
MERCHAPI_EXT_STORE_ADDR_CFANoYesNoYes
MERCHAPI_EXT_STOREYesYesYesYes
V_MERCHAPI_EXT_STORE_JSONYesNoNoNo
SYSTEM_OPTIONSYesNoNoNo
Get Store Details for Provided Store
Endpoint
MerchIntegrations/services/foundation/store
MerchIntegrations/services/foundation/store/{storeId}
Functional Area
Organizational Hierarchy - Stores
Business Overview

This service publishes store master data to downstream consuming systems. It publishes the store definition together with primary and additional addresses, store hours, store services, store conditions, and related descriptive attributes used to interpret the store record. There is no explicit filter in V_MERCHAPI_EXT_STORE_JSON, so all STORE rows are eligible for publication.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: STORE, ADDR

Additional business tables: ADD_TYPE_MODULE, V_ADD_TYPE_TL, STATE, COUNTRY, STORE_HOURS, STORE_SERVICE, STORE_CONDITION, CHANNELS, STORE_FORMAT, DISTRICT, TSFZONE, WH, LANG, CODE_DETAIL, STORE_CFA_EXT, ADDR_CFA_EXT

JSON cache table: MERCHAPI_EXT_STORE

JSON generation view: V_MERCHAPI_EXT_STORE_JSON

Builds the store header from STORE, derives the primary address from ADDR joined to ADD_TYPE_MODULE, V_ADD_TYPE_TL, STATE, and COUNTRY, aggregates all store addresses from ADDR, aggregates store hours from STORE_HOURS, store services from STORE_SERVICE, store conditions from STORE_CONDITION, and enriches descriptive values from CHANNELS, STORE_FORMAT, DISTRICT, TSFZONE, WH, LANG, and CODE_DETAIL.

Store- and address-level custom flex attributes are added from MERCHAPI_EXT_STORE_CFA and MERCHAPI_EXT_STORE_ADDR_CFA.

There is no explicit filter in V_MERCHAPI_EXT_STORE_JSON, so functionally all rows from STORE are eligible for publication.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_EXT_STORE_JSON and apply no additional filter criteria; all STORE rows are eligible for publication.

The current REBUILD branch merges changed and new rows only; it does not include a delete-marking pass for stores that disappear from V_MERCHAPI_EXT_STORE_JSON.

ICL (Integration Change Log) table: ICL_RMS_STORE and ICL_RMS_ADDR (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on STORE, and address changes are captured through ICL_RMS_ADDR for ADDR rows on modules ST and WFST.

ICL_RMS_ADDR rows are filtered to MODULE IN (‘ST’,‘WFST’) and republish the parent store payload.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_STORE

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_STORE_ADHOC_PROCESS MERCHAPI_EXT_STORE_ADHOC_JOB

Webhook configuration api name: foundation/store

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/store

MerchIntegrations/services/foundation/store/{storeId}

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoStringOffset key (Store)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-1105 Input Parameter for “MerchIntegrations/services/foundation/store/ {storeId}“

Parameter NameRequiredData TypeDescription
storeIdYesNumberStore Id
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-1106 PageResultsItemsMerchApiStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request

Table 5-1106 (Cont.) PageResultsItemsMerchApiStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1107 MerchApiStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for store
details.
storeNoNumber(10,0)This feld contains the
number that uniquely
identifes the store.
storeTypeNoString (6)This feld indicates
whether a particular
store is a franchise or
company store.
storeNameNoString (150)This feld contains the
name of the store
which, along with the
store number,
identifes the store.
storeName10NoString (10)This feld contains a
ten-character
abbreviation of the
store name.
storeName3NoString (3)This feld contains a
three-character
abbreviation of the
store name.
storeClassNoString (1)This feld contains the
code letter indicating
the class of which the
store is a member.
storeClassDescriptionNoString (250)This feld contains the
description indicating
the class of which the
store is a member.
managerNameNoString (120)This feld contains the
name of the store
manager.

Table 5-1107 (Cont.) MerchApiStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
openDateNodateThis feld contains the
date on which the
store opened.
closeDateNodateThis feld contains the
date on which the
store closed.
acquireDateNodateThis feld contains the
date on which the
store was acquired.
remodelDateNodateThis feld contains the
date on which the
store was last
remodeled.
faxNumberNoString (20)This feld contains the
fax number for the
store.
phoneNumberNoString (20)This feld contains the
phone number for the
store.
emailNoString (100)This feld contains the
email address for the
location.
totalSquareFeetNoNumber(8,0)This feld contains the
total square footage of
the store.
sellingSquareFeetNoNumber(8,0)This feld contains the
total square footage of
the store’s selling area.
linearDistanceNoNumber(8,0)This feld contains the
total merchandisable
space of the location.
stockholdingIndNoString (1)This feld indicates
whether the store can
hold stock.
channelIdNoNumber(4,0)This feld contains the
channel with which
the store is associated.
channelNameNoString (120)This feld contains the
channel description
with which the store is
associated.
storeFormatNoNumber(4,0)This feld contains the
number indicating the
format of the store.
Valid values are found
on the store format
table.

Table 5-1107 (Cont.) MerchApiStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeFormatNameNoString (60)This feld contains the
description for the
format of the store.
mallNameNoString (120)This feld contains the
name of the mall in
which the store is
located.
districtNoNumber(10,0)This feld contains the
number of the district
in which the store is a
member.
districtNameNoString (120)This feld contains the
name of the district in
which the store is a
member.
transferZoneNoNumber(4,0)This feld contains the
transfer zone ID in
which the store is
located.
transferZoneDescripti
on
NoString (120)This feld contains the
transfer zone
description in which
the store is located.
defaultWarehouseNoNumber(10,0)This feld contains the
number of the
warehouse that is the
primary sourcing
warehouse for the
store.
stopOrderdaysNoNumber(3,0)This feld contains the
number of days before
a store closing that the
store will stop
accepting orders. This
column will be used
when the store close
date is defned.
startOrderDaysNoNumber(3,0)This feld contains the
number of days before
the store open date
that the store will
begin accepting
orders.
currencyCodeNoString (3)This feld contains the
currency code under
which the store
operates.
languageNoString (6)This feld contains the
ISO code of the
language to be used
for the given store.

Table 5-1107 (Cont.) MerchApiStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
integratedPosIndNoString (1)This feld indicates
whether Sales Audit
should expect fles
from this store for
processing.
dunsNumberNoString (9)This feld contains the
Dun and Bradstreet
number to identify the
store.
dunsLocationNoString (4)This feld contains the
Dun and Bradstreet
number to identify the
location.
pricingStoreNoNumber(10,0)This feld contains the
location from which
pricing records will be
copied for a new store
or will be used to
determine the price
for this store if not
otherwise defned for
an item.
timezoneNameNoString (64)This feld contains the
text value of the time
zone of the store.
pricingStoreCurrencyNoString (3)This feld contains the
currency code of the
location from which
pricing records will be
copied.
orgUnitIdNoNumber(15,0)This feld contains the
organizational unit ID
that this store is
associated with.
storeNameSecondaryNoString (150)This feld contains the
secondary name of the
store.
vatRegionNoNumber(4,0)This feld contains the
ID of the tax region the
store is associated
with.
vatIncludeIndNoString (1)This feld indicates
whether tax will be
included in the retail
prices for the store.

Table 5-1107 (Cont.) MerchApiStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
sisterStoreNoNumber(10,0)This feld contains the
store number that will
be used to relate the
current store to the
historical data of an
existing store. This is
used by Allocation.
trasferEntityIdNoNumber(10,0)This feld contains the
transfer entity ID with
which the store is
associated.
autoReceiveIndNoString (1)This feld indicates
whether receipts for
the store will be made
automatically by
Merchandising.
remerchandisingIndNoString (1)This feld is currently
not used.
franchiseCustomerIdNoNumber(10,0)This feld indicates
which franchise
customer this store is
associated with.
customerOrderLocatio
nInd
NoString (1)This feld indicates
whether the location is
a customer order
location. If the
indicator is Y, then the
location can be used
for sourcing and
fulfllment orders; else
it cannot be used and
inventory information
will not be shared with
OMS.
giftWrappingIndNoString (1)This feld indicates if
the location will
support gift wrapping.
customerOrderShippin
gInd
NoString (1)This feld indicates if
the location will
support shipping to a
customer for customer
orders.
onlineStoreIndNoString (1)This feld indicates
that the store is an
online store.
taxIdNoString (20)This feld contains the
unique tax
identifcation number
of the store.

Table 5-1107 (Cont.) MerchApiStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
primaryAddressTypeNoString (2)This feld specifes the
type for the address.
Valid values are: 01 -
Business, 02 - Postal,
03 - Returns, 04 -
Order, 05 - Invoice, 06 -
Remittance.
primaryAddressTypeD
escription
NoString (40)This feld specifes the
address type
description.
primaryAddressAdd1NoString (240)This feld contains the
frst line of the
address.
primaryAddressAdd2NoString (240)This feld contains the
second line of the
address.
primaryAddressAdd3NoString (240)This feld contains the
third line of the
address.
primaryAddressCityNoString (120)This feld contains the
name of the city that is
associated with the
address.
primaryAddressStateNoString (3)This feld contains the
state abbreviation for
the address.
primaryAddressStateN
ame
NoString (120)This feld contains the
state description for
the address.
primaryAddressCount
ryId
NoString (3)This feld contains the
country where the
address exists.
primaryAddressCount
ryName
NoString (120)This feld contains the
country description
where the address
exists.
primaryAddressPostNoString (30)This feld contains the
zip code for the
address.
primaryAddressContac
tName
NoString (120)This feld contains the
name of the contact
person at this address.
primaryAddressContac
tPhone
NoString (20)This feld contains the
phone number of the
contact person at this
address.
primaryAddressContac
tTelex
NoString (20)This feld contains the
telex number of the
contact person at this
address.

Table 5-1107 (Cont.) MerchApiStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
primaryAddressContac
tFax
NoString (20)This feld contains the
fax number of the
contact person at this
address.
primaryAddressContac
tEmail
NoString (100)This feld contains the
email address of the
contact person at this
address.
primaryAddressPhone
2
NoString (20)This feld contains an
additional phone
number associated
with the primary
address.
primaryAddressPhone
2Type
NoString (6)This feld contains the
type of the phone
number stored in the
primaryAddressPhone
2 feld. Valid values
are AS - Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work, and can also be
found on the codes
table with a code type
of PHTP.
primaryAddressPhone
3
NoString (20)This feld contains a
second additional
phone number
associated with the
primary address.
primaryAddressPhone
3Type
NoString (6)This feld contains the
type of the phone
number stored in the
primaryAddressPhone
3 feld. Valid values
are AS - Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work, and can also be
found on the codes
table with a code type
of PHTP.
primaryAddressLatitu
de
NoString (30)This feld contains the
north-south
geographic coordinate
of the primary
address, represented
in decimal degrees.

Table 5-1107 (Cont.) MerchApiStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
primaryAddressLongit
ude
NoString (30)This feld contains the
east-west geographic
coordinate of the
primary address,
represented in
decimal degrees.
primaryAddressOracle
VendorSiteId
NoNumber(15,0)This feld contains the
Oracle vendor site ID.
primaryAddressCount
y
NoString (250)This feld contains the
county where the
address exists.
primaryAddressJurisdi
ctionCode
NoString (10)This feld contains the
ID associated with the
tax jurisdiction of the
country-state
relationship.
createDateTimeNodateTimeThis feld holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated (UTC).
customFlexAttributeNoCollection of ObjectThis List holds custom
fex attributes for the
Store.
addressNoCollection of ObjectThis List holds all the
Store addresses.
storeHoursNoCollection of ObjectThis List holds all the
Store Hours attributes.
storeServicesNoCollection of ObjectThis List holds all the
Store Services
attributes. Each
StoreService element
contains the code
representing the store
service provided at the
store and its creation
datetime.
storeConditionsNoCollection of ObjectThis List holds all the
Store Conditions
attributes.
storeTranslationsNoCollection of ObjectThis List holds all the
store translations,
providing language-
specifc store names
and details.

Table 5-1107 (Cont.) MerchApiStore - Object. See list of elements for detail

Element NameRequiredData TypeDescription
cacheTimestampNodateTimeThis feld specifes the
date and time when
the store record was
fetched into the cache
for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1108 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-1109 Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
addressKeyNoNumber(11,0)This feld contains the
unique address key.
addressTypeNoString (2)This feld specifes the
type for the address.
Valid values are: 01 -
Business, 02 - Postal,
03 - Returns, 04 -
Order, 05 - Invoice, 06 -
Remittance.

Table 5-1109 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
addressTypeDescriptio
n
NoString (40)This feld specifes the
address type
description.
primaryAddressIndNoString (1)This feld indicates
whether the address is
the primary address
for the address type.
add1NoString (240)This feld contains the
frst line of the
address.
add2NoString (240)This feld contains the
second line of the
address.
add3NoString (240)This feld contains the
third line of the
address.
cityNoString (120)This feld contains the
name of the city that is
associated with the
address.
stateNoString (3)This feld contains the
state abbreviation that
is associated with the
address.
stateNameNoString (120)This feld contains the
state description that
is associated with the
address.
countryIdNoString (3)This feld contains the
country where the
address exists.
countryNameNoString (120)This feld contains the
country description
that is associated with
the address.
postNoString (30)This feld contains the
zip code for the
address.
contactNameNoString (120)This feld contains the
name of the contact
person at this address.
contactPhoneNoString (20)This feld contains the
phone number of the
contact person at this
address.
contactTelexNoString (20)This feld contains the
telex number of the
contact person at this
address.

Table 5-1109 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
contactFaxNoString (20)This feld contains the
fax number of the
contact person at this
address.
contactEmailNoString (100)This feld contains the
email address of the
contact person at this
address.
phone2TypeNoString (6)This feld contains the
type of the phone
number stored in the
phone2 feld. Valid
values are AS -
Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work, and can also be
found on the codes
table with a code type
of PHTP.
phone2NoString (20)This feld contains an
additional phone
number associated
with the address.
phone3TypeNoString (6)This feld contains the
type of the phone
number stored in the
phone3 feld. Valid
values are AS -
Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work, and can also be
found on the codes
table with a code type
of PHTP.
phone3NoString (20)This feld contains a
second additional
phone number
associated with the
address.
latitudeNoString (30)This feld contains the
north-south
geographic coordinate
of the address,
represented in
decimal degrees.

Table 5-1109 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
longitudeNoString (30)This feld contains the
east-west geographic
coordinate of the
address, represented
in decimal degrees.
countyNoString (250)This feld contains the
county where the
address exists.
jurisdictionCodeNoString (10)This feld contains the
ID associated with the
tax jurisdiction of the
country-state
relationship.
createDateTimeNodateTimeThis feld holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated (UTC).
customFlexAttributeNoCollection of ObjectThis List holds custom
fex attributes for the
warehouse’s address.

Table 5-1110 StoreHours - Object. See list of elements for detail

Element NameRequiredData TypeDescription
dayNoNoNumber(1,0)This feld contains the
numeric value that
indicates the day that
the open and close
times pertain to. Valid
values are 1-Sunday, 2-
Monday, 3-Tuesday, 4-
Wednesday, 5-
Thursday, 6-Friday, or
7-Saturday.
storeOpenTimeNoString (8)This feld contains the
open time for the store
for each day of the
week. The time format
will be in HH:MM AM
or HH:MM PM.
storeCloseTimeNoString (8)This feld contains the
close time for the store
for each day of the
week. The time format
will be in HH:MM AM
or HH:MM PM.

Table 5-1110 (Cont.) StoreHours - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis feld holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated (UTC).

Table 5-1111 StoreService - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeServiceNoString (6)This feld contains the
code representing the
store service provided
at the store.
createDateTimeNodateTimeThis feld holds the
record creation date
and time of the store
service (UTC).

Table 5-1112 StoreConditions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
conditionTypeNoString (6)This feld holds the
condition type
confgured under code
type SCND with the
used indicator set to Y.
startDateNodateThis feld holds the
start date of the
condition.
endDateNodateThis feld holds the
end date of the
condition.
commentsNoString (250)This feld holds the
extra information
about the condition
setup.
createDateTimeNodateTimeThis feld holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated (UTC).

Table 5-1113 StoreTranslation - Object. See list of elements for detail

Element NameRequiredData TypeDescription
languageCodeNoStringThe short code for the
language (e.g. EN, FR).
languageNameNoStringThe name of the
language (e.g. English,
French).
isoCodeNoStringThe ISO code for the
language (e.g. en_US,
fr_FR).
storeNameNoStringThe store name in this
language.
storeNameSecondaryNoStringThe secondary store
name in this language.
createDateTimeNoStringRecord creation
datetime for this
translation.
updateDateTimeNoStringDatetime this
translation was last
updated.

Table 5-1114 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"store": 6000,
"storeType": null,
"storeName": "storeName",
"storeName10": null,
"storeName3": null,
"storeClass": null,
"storeClassDescription": null,
"managerName": "storeMgrName",
"openDate": "2001-12-31",
"closeDate": "2001-12-31",
"acquireDate": "2001-12-31",
"remodelDate": "2001-12-31",
"faxNumber": null,
"phoneNumber": "1800800800",
"email": "someone@email.com",
"totalSquareFeet": 1,
"sellingSquareFeet": 1,
"linearDistance": 1,
"stockholdingInd": "Y",
"channelId": 1,
"channelName": null,
"storeFormat": 1,
"storeFormatName": null,
"mallName": "mallName",
"district": 1,
"districtName": null,
"transferZone": 1,
"transferZoneDescription": null,
"defaultWarehouse": 1,
"stopOrderdays": 1,
"startOrderDays": 1,
"currencyCode": "USD",
"language": null,
"integratedPosInd": "Y",
"dunsNumber": null,
"dunsLocation": null,
"pricingStore": 1,
"timezoneName": "timezoneName",
"pricingStoreCurrency": null,
"orgUnitId": 1,
"storeNameSecondary": "storeNameSecondary",
"vatRegion": 1,
"vatIncludeInd": "Y",
"sisterStore": 1,
"trasferEntityId": 1,
"autoReceiveInd": null,
"remerchandisingInd": null,
"franchiseCustomerId": 1,
"customerOrderLocationInd": "Y",
"giftWrappingInd": "Y",
"customerOrderShippingInd": "Y",
"onlineStoreInd": "Y",
"taxId": null,
"primaryAddressType": "01",
"primaryAddressTypeDescription": null,
"primaryAddressAdd1": "101 First Street",
"primaryAddressAdd2": "201 Second Street",
"primaryAddressAdd3": null,
"primaryAddressCity": "Minneapolis",
"primaryAddressState": "MN",
"primaryAddressStateName": "stateName",
"primaryAddressCountryId": "US",
"primaryAddressCountryName": "countryName",
"primaryAddressPost": "55555-1234",
"primaryAddressContactName": "contactName",
"primaryAddressContactPhone": "1800800800",
"primaryAddressContactTelex": null,
"primaryAddressContactFax": "617-897-0902",
"primaryAddressContactEmail": "someone@email.com",
"primaryAddressPhone2": "5551234567",
"primaryAddressPhone2Type": "WO",
"primaryAddressPhone3": "5551234567",
"primaryAddressPhone3Type": "WO",
"primaryAddressLatitude": "44.38129",
"primaryAddressLongitude": "-92.03521",
"primaryAddressOracleVendorSiteId": 1,
"primaryAddressCounty": "Some County",
"primaryAddressJurisdictionCode": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"address": [
{
"addressKey": 114772,
"addressType": "01",
"addressTypeDescription": null,
"primaryAddressInd": "Y",
"add1": "101 First Street",
"add2": "201 Second Street",
"add3": null,
"city": "Minneapolis",
"state": "MN",
"stateName": "MN",
"countryId": "US",
"countryName": "US",
"post": "55555-1234",
"contactName": "Laura Johnson",
"contactPhone": "1800800800",
"contactTelex": null,
"contactFax": "617-897-0902",
"contactEmail": "someone@email.com",
"phone2Type": "WO",
"phone2": "5551234567",
"phone3Type": "WO",
"phone3": "5551234567",
"latitude": "44.38129",
"longitude": "-92.03521",
"county": null,
"jurisdictionCode": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
],
"storeHours": [
{
"dayNo": 1,
"storeOpenTime": null,
"storeCloseTime": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"storeServices": [
{
"storeService": null,
"createDateTime": "2001-12-31T23:59:59.000Z"
}
],
"storeConditions": [
{
"conditionType": null,
"startDate": "2001-12-31",
"endDate": "2001-12-31",
"comments": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"storeTranslations": [
{
"languageCode": "String",
"languageName": "String",
"isoCode": "String",
"storeName": "String",
"storeNameSecondary": "String",
"createDateTime": "String",
"updateDateTime": "String"
}
],
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoYesNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ICL_RMS_STOREYesNoYesYes
ICL_RMS_ADDRYesNoYesYes
ADDRYesNoNoNo
STORE_CFA_EXTYesNoNoNo
ADDR_CFA_EXT CFAYesNoNoNo
MERCHAPI_EXT_STORE_CFANoYesNoYes
MERCHAPI_EXT_STORE_ADDR_CFANoYesNoYes
MERCHAPI_EXT_STOREYesYesYesYes
V_MERCHAPI_EXT_STORE_JSONYesNoNoNo
SYSTEM_OPTIONSYesNoNoNo

Store Upload Service

The following services are included in this functional area:

  • Create Store

  • Create Store Address

  • Create Store Department Up Charges

  • Create Store Hours

  • Create Store Location Trait

  • Create Walk-Through Store

  • Delete Store

  • Delete Store Address

  • Delete Store Department Up Charges

  • Delete Store Hours

  • Delete Store Location Trait

  • Delete Walk-Through Store

  • Update Store

  • Update Store Address

  • Update Store Department Up Charges

  • Update Store Hours

Create Store

Functional Area

Organizational Hierarchy - Stores

Business Overview

This service provides the ability to keep store data in Merchandising in sync with an external system if Merchandising is not being used as the system of record for organizational hierarchy information. The store data handled by this service includes basic store data in addition to addresses, store hours, up-charges.

Location traits and walkthrough store attributes cannot be attached while creating a store. The store create batch must first process the store before it can have these attributes attached to it. Up-charges, store hours, and addresses can be included for new stores.

The store creation also supports the ability to import custom flex attributes from an external system

When creating a new store in Merchandising via this service, the data is first validated, and then the service will create store in an asynchronous mode.

Service Type

POST

ReST URL
MerchIntegrations/services/organizationalHierarchy/store/create
Input Payload Details

Table 5-1115 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)The unique identifer
of the store.
storeNameYesString (150)The name of the store.
storeTypeNoString (1)The one character
abbreviation of the
store type.
storeNameSecondaryNoString (150)Secondary name of the
store. This feld can
only be populated
when system_options.
secondary_desc_ind =
Y.
channelIdNoNumber (4)The identifer of the
channel. This value
must be predefned on
the CHANNELS table.
In a multichannel
environment this feld
is required.

Table 5-1115 (Cont.) Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
districtYesNumber (10)The number of the
district of which the
store is a member.
This value must be
predefned on the
DISTRICT table.
transferZoneNoNumber (4)The transfer zone in
which the store is
located. This value
must be predefned on
the TSFZONE table.
defaultWarehouseNoNumber (10)This feld contains the
default warehouse for
the store. This value
must be a virtual
warehouse predefned
on the WH table.
currencyCodeYesString (3)The code of the
currency under which
the store operates.
This value must be
predefned on the
CURRENCIES table. It
cannot be modifed.
orgUnitIdNoNumber (15)Column will contain
the organizational unit
ID value.
stockholdingIndYesString (1)Indicates if the store
can hold stock. This
feld cannot be
modifed.
customerOrderLocatio
nInd
NoString (1)Customer order
location indicator. This
feld can have Y or N.
customerOrderShippin
gInd
NoString (1)This feld indicates
wheather the
customer order has
been been shipped
from Warehouse or
not.
giftWrappingIndNoString (1)This feld indicates
weathere a gift
wrapping needs to be
done or not.
onlineStoreIndNoString (1)This feld indicates
how store day will be
managed by ReSA. If
the indicator is Y then
ReSA will
automatically open
and close the store day.

Table 5-1115 (Cont.) Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeName10NoString (10)The ten character
abbreviation of the
store name.
storeName3NoString (3)The three character
abbreviation of the
store name.
storeClassYesString (1)The code of the class of
which the store is a
member.
storeManagerNameYesString (120)The name of the store
manager.
storeOpenDateYesdateThe date on which the
store opened.
storeCloseDateNodateThe date on which the
store closed.
acquiredDateNodateThe date on which the
store was acquired.
remodelDateNodateThe date on which the
store was remodeled.
faxNoNoString (20)Contains the fax
number for the store.
phoneNoNoString (20)This type can hold a
number of digits count
number.
emailNoString (100)The email address of
the store.
totalSquareFeetNoNumber (8)The total square
footage of the store.
sellingSquareFeetNoNumber (8)The total square
footage of the store’s
selling area.
linearDistanceNoNumber (8)The total merchandise
space of the store.
storeFormatNoNumber (4)The code of the store
format of the store.
This value must be
predefned on the
STORE_FORMAT table.
mallNameNoString (120)The name of the mall
in which the store is
located.
stopOrderDaysNoNumber (3)The number of days
before the store close
date that the store will
stop accepting orders.

Table 5-1115 (Cont.) Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
startOrderDaysYesNumber (3)The number of days
before the store open
date that the store will
begin accepting
orders.
languageNoNumber (6)The code of the
language used at the
store. This value must
be predefned on the
LANG table.
isoCodeNoString (6)The character code
corresponding to the
Language used at the
store
integratedPosIndYesString (1)Indicates whether the
store’s POS is
integrated.
dunsNumberNoString (9)Holds the Dun and
Bradsteet (DUNS)
number
dunsLocationNoString (4)The Dun and
Bradstreet number to
identify the location.
copyDeliveryIndNoString (1)Indicates if the like
store’s delivery
schedule information
should be copied to the
new store. This value
cannot be modifed. It
will only be populated
on a store create
message.
copyActivityIndNoString (1)Indicates if the like
store’s closing date
schedule should be
copied to the new
store. This value
cannot be modifed. It
will only be populated
on a store create
message.

Table 5-1115 (Cont.) Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
priceStoreNoNumber (10)The store from which
pricing information
will be copied to the
new store. The pricing
store does not need
the same currency as
the new store. This
value is not required
on a create message
and should not be
populated on a modify
message.
costLocationNoNumber (10)The location from
which to copy cost
information to the
new store. This feld
should only be
populated on store
create messages. This
value must be
predefned on the WH
or STORE table. This
value cannot be
modifed.
vatIncludeIndNoString (1)Indicates whether
retail prices for the
store will contain VAT.
vatRegionNoNumber (4)The vat region of
which the store is a
part. This value must
be predefned on the
VAT_REGION table. It
is required if VAT is on
in the system.
likeStoreNoNumber (10)The store from which
the new store will
have item locations
copied. This value
must be predefned on
the STORE table. It
cannot be modifed
and will only be
populated on a create
message.
copyReplenishmentIn
d
NoString (1)Indicates whether
replenishment
information should be
copied from the like
store to the new store.
This feld cannot be
modifed. It will only
be populated on a
store create message.

Table 5-1115 (Cont.) Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
transferEntityYesNumber (10)The transfer entity of
which the store is a
part. This value must
be predefned on the
TSF_ENTITY table. If
the system allows
intercompany
transfers this feld is
required.
sisterStoreNoNumber (10)The store which will
be used to relate
historical data to the
new store. This value
must be predefned on
the STORE table.
transactionNoGenerat
ed
YesString (6)The level at which
unique POS
transaction numbers
are generated.
timezoneNameNoString (64)TimeZone name.
customerIdNoNumber (10)Customer ID
associated with the
WF Store.
taxIdNoString (20)Contains the unique
tax identifcation
number of the store.
copyClearanceIndNoString (1)Indicates if the like
store’s clearance items
should be copied to the
new store. This value
cannot be modifed. It
will only be populated
on a store create
message.
autoReceiveNoString (1)This column will
indicate whether the
client is allowing
automatic receipt for
the store. Valid Values
are Y (Yes), N (No).

Table 5-1115 (Cont.) Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
customFlexAttributeNoCollection of ObjectReferences a collection
of custom fexible
attributes. This
collection is treated as
a single group and
should include all
named fexible
attributes for the
business entity. If any
confgured named
attribute is missing
from the input
collection, its value
will be set to NULL
addressNoCollection of ObjectReferences a collection
of store address.
hoursNoCollection of ObjectReferences a collection
of store hours details.
localizationExtensionsNoCollection of ObjectHolds optional
localization attributes
that will be processed
by the localization
extension module.

Table 5-1116 Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
addressTypeYesString (2)Indicates the type for
the address. Valid
values (e. g. 01-
business, 02-postal)
are in the add_type
table.
externalReferenceIdYesString (32)This feld holds the
unique address ID
from the source
system. For addresses
that are interfaced
into Merchandising, it
will hold the external
system’s address ID.
primaryAddressTypeI
nd
NoString (1)Indicates whether the
address type is the
primary address type
for the module.
primaryAddressIndYesString (1)Indicates whether this
address is the primary
address for this
address type.
add1YesString (240)Contains the frst line
of the address

Table 5-1116 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
add2NoString (240)Contains the second
line of the address.
add3NoString (240)Contains the thirdline
of the address.
cityYesString (120)Contains the name of
the city that is
associated with the
address.
stateNoString (3)Contains the postal
abbreviation for the
state in which the
warehouse is located.
stateNameNoString (120)Indicates the State
name.
countryYesString (3)Contains the country
where the address
exists.
countryNameNoString (120)Indicates the Country
Name. For e. g
Brazil,United States
postNoString (30)Contains the zip code
for the address.
countyNoString (250)Contains the county
name for the location.
jurisdictionCodeNoString (10)ID associated to the tax
jurisdiction of the
country-state
relationship.
contactNameNoString (120)Contains the name of
the contact for the
supplier at this
address.
contactPhoneNoString (20)Contains the phone
number of the contact
person at this address.
contactTelexNoString (20)Contains the telex
number of the partner
or suppliers
representative contact.
contactFaxNoString (20)Contains the fax
number of the contact
person at this address.
contactEmailNoString (100)Contains the email
address of the partner
or suppliers
representative contact.

Table 5-1116 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
oracleVendorSiteIdNoNumber (15)The unique identifer
of this address in the
Oracle Financials
systems, if used.
phone2TypeNoString (6)This column contains
the type of the phone
number stored in
Phone2 feld. Valid
values are AS -
Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work also can be
found on the codes
table with a code type
of PHTP.
phone2NoString (20)This column contains
an additional phone
number associated
with the address.
phone3TypeNoString (6)This column contains
the type of the phone
number stored in
Phone3 feld. Valid
values are AS -
Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work also can be
found on the codes
table with a code type
of PHTP.
phone3NoString (20)This column contains a
second additional
phone number
associated with the
address.
latitudeNoString (30)This column contains
the north-south
geographic coordinate
of the address,
represented in
decimal degrees (e. g. ,
37. 7749).

Table 5-1116 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
longitudeNoString (30)This column contains
the east-west
geographic coordinate
of the address,
represented in
decimal degrees (e. g. ,
-122. 4194).
customFlexAttributeNoCollection of ObjectReferences a collection
of custom fexible
attributes. This
collection is treated as
a single group and
should include all
named fexible
attributes for the
business entity. If any
confgured named
attribute is missing
from the input
collection, its value
will be set to NULL

Table 5-1117 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute
name.
valueNoString (250)Holds the numeric or
string value of the
attribute.
valueDateNodateHolds the date value of
the attribute.

Table 5-1118 Hours - Object. See list of elements for detail

Element NameRequiredData TypeDescription
dayNoYesNumber (1)This feld indicates the
day of the week for
which store timing is
being stored.
storeOpenTimeNoString (8)Contains the open time
for the store. The time
format must be in
HH:MM AM or HH:MM
PM.
storeCloseTimeNoString (8)Contains the close time
for the store. The time
format must be in
HH:MM AM or HH:MM
PM.

Table 5-1119 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country
associated with the
localization attributes.
attributesYesCollection of ObjectThis holds the details
of localization
attributes.

Table 5-1120 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute
name.
valueNoString (250)Holds the numeric or
string value of the
attribute.
valueDateNodateHolds the date value of
the attribute.
Sample Input Message
{
"store": 6001,
"storeName": "6001 Retail",
"storeType": "C",
"storeNameSecondary": "storeNameSecondary",
"channelId": 1,
"district": 121,
"transferZone": 1000,
"defaultWarehouse": 5,
"currencyCode": "USD",
"orgUnitId": 1111111111,
"stockholdingInd": "Y",
"customerOrderLocationInd": "Y",
"customerOrderShippingInd": "Y",
"giftWrappingInd": "Y",
"onlineStoreInd": "N",
"storeName10": "6001Retail",
"storeName3": "600",
"storeClass": "A",
"storeManagerName": "storeMgrName",
"storeOpenDate": "2001-12-31",
"storeCloseDate": "2001-12-31",
"acquiredDate": "2001-12-31",
"remodelDate": "2001-12-31",
"faxNo": null,
"phoneNo": "1800800800",
"email": "someone@email.com",
"totalSquareFeet": 762426,
"sellingSquareFeet": 570207,
"linearDistance": 717780,
"storeFormat": 10,
"mallName": "mallName",
"stopOrderDays": 5,
"startOrderDays": 10,
"language": 1,
"isoCode": "en",
"integratedPosInd": "Y",
"dunsNumber": null,
"dunsLocation": null,
"copyDeliveryInd": "Y",
"copyActivityInd": "Y",
"priceStore": 6000,
"costLocation": 6000,
"vatIncludeInd": "Y",
"vatRegion": 1000,
"likeStore": null,
"copyReplenishmentInd": "Y",
"transferEntity": 1000,
"sisterStore": 1913,
"transactionNoGenerated": "S",
"timezoneName": "America/New_York",
"customerId": 121902,
"taxId": null,
"copyClearanceInd": "Y",
"autoReceive": "Y",
"customFlexAttribute": [
{
"name": "REVIEW_DATE",
"value": null,
"valueDate": null
}
],
"address": [
{
"addressType": "01",
"externalReferenceId": "REF6001",
"primaryAddressTypeInd": "Y",
"primaryAddressInd": "Y",
"add1": "101 First Street",
"add2": "201 Second Street",
"add3": "301 Third Street",
"city": "Minneapolis",
"state": "MN",
"stateName": "MN",
"country": "US",
"countryName": "US",
"post": "55555-1234",
"county": null,
"jurisdictionCode": null,
"contactName": "contactName",
"contactPhone": "1800800800",
"contactTelex": null,
"contactFax": null,
"contactEmail": "someone@email.com",
"oracleVendorSiteId": 625128,
"phone2Type": "WO",
"phone2": "5551234567",
"phone3Type": "WO",
"phone3": "5551234567",
"latitude": "44.38129",
"longitude": "-92.03521",
"customFlexAttribute": [
{
"name": "REVIEW_DATE",
"value": null,
"valueDate": null
}
]
}
],
"hours": [
{
"dayNo": 1,
"storeOpenTime": null,
"storeCloseTime": null
}
],
"localizationExtensions": [
{
"country": "BR",
"attributes": [
{
"name": "SPECIAL_CATEGORY_CODE",
"value": "WS_PRC_08",
"valueDate": "2001-12-31"
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}
Create Store Address

Functional Area

Organizational Hierarchy - Stores

Business Overview

This service is used to create additional address for an existing store in Merchandising.

Service Type
POST

ReST URL

MerchIntegrations/services/organizationalHierarchy/store/address/create

Input Payload Details

Table 5-1121 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)The unique identifer
of the store.
storeTypeNoString (1)The one character
abbreviation of the
store type.
addressNoCollection of ObjectReferences a collection
of store address.
customerIdNoNumber (10)Customer ID
associated with the
WF Store.
localizationExtensionsNoCollection of ObjectHolds optional
localization attributes
that will be processed
by the localization
extension module.

Table 5-1122 Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
addressTypeYesString (2)Indicates the type for
the address. Valid
values (e. g. 01-
business, 02-postal)
are in the add_type
table.

Table 5-1122 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
externalReferenceIdYesString (32)This feld holds the
unique address ID
from the source
system. For addresses
that are interfaced
into Merchandising, it
will hold the external
system’s address ID.
primaryAddressTypeI
nd
NoString (1)Indicates whether the
address type is the
primary address type
for the module.
primaryAddressIndYesString (1)Indicates whether this
address is the primary
address for this
address type.
add1YesString (240)Contains the frst line
of the address
add2NoString (240)Contains the second
line of the address.
add3NoString (240)Contains the thirdline
of the address.
cityYesString (120)Contains the name of
the city that is
associated with the
address.
stateNoString (3)Contains the postal
abbreviation for the
state in which the
warehouse is located.
stateNameNoString (120)Indicates the State
name.
countryYesString (3)Contains the country
where the address
exists.
countryNameNoString (120)Indicates the Country
Name. For e. g
Brazil,United States
postNoString (30)Contains the zip code
for the address.
countyNoString (250)Contains the county
name for the location.
jurisdictionCodeNoString (10)ID associated to the tax
jurisdiction of the
country-state
relationship.

Table 5-1122 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
contactNameNoString (120)Contains the name of
the contact for the
supplier at this
address.
contactPhoneNoString (20)Contains the phone
number of the contact
person at this address.
contactTelexNoString (20)Contains the telex
number of the partner
or suppliers
representative contact.
contactFaxNoString (20)Contains the fax
number of the contact
person at this address.
contactEmailNoString (100)Contains the email
address of the partner
or suppliers
representative contact.
oracleVendorSiteIdNoNumber (15)The unique identifer
of this address in the
Oracle Financials
systems, if used.
phone2TypeNoString (6)This column contains
the type of the phone
number stored in
Phone2 feld. Valid
values are AS -
Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work also can be
found on the codes
table with a code type
of PHTP.
phone2NoString (20)This column contains
an additional phone
number associated
with the address.

Table 5-1122 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
phone3TypeNoString (6)This column contains
the type of the phone
number stored in
Phone3 feld. Valid
values are AS -
Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work also can be
found on the codes
table with a code type
of PHTP.
phone3NoString (20)This column contains a
second additional
phone number
associated with the
address.
latitudeNoString (30)This column contains
the north-south
geographic coordinate
of the address,
represented in
decimal degrees (e. g. ,
37. 7749).
longitudeNoString (30)This column contains
the east-west
geographic coordinate
of the address,
represented in
decimal degrees (e. g. ,
-122. 4194).
customFlexAttributeNoCollection of ObjectReferences a collection
of custom fexible
attributes. This
collection is treated as
a single group and
should include all
named fexible
attributes for the
business entity. If any
confgured named
attribute is missing
from the input
collection, its value
will be set to NULL

Table 5-1123 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute
name.
valueNoString (250)Holds the numeric or
string value of the
attribute.
valueDateNodateHolds the date value of
the attribute.

Table 5-1124 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country
associated with the
localization attributes.
attributesYesCollection of ObjectThis holds the details
of localization
attributes.

Table 5-1125 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute
name.
valueNoString (250)Holds the numeric or
string value of the
attribute.
valueDateNodateHolds the date value of
the attribute.
Sample Input Message
{
"store": 6000,
"storeType": "C",
"address": [
{
"addressType": "01",
"externalReferenceId": "REF6001",
"primaryAddressTypeInd": "Y",
"primaryAddressInd": "Y",
"add1": "101 First Street",
"add2": "201 Second Street",
"add3": "301 Third Street",
"city": "Minneapolis",
"state": "MN",
"stateName": "stateName",
"country": "US",
"countryName": "countryName",
"post": "55555-1234",
"county": "Some County",
"jurisdictionCode": null,
"contactName": "contactName",
"contactPhone": "1800800800",
"contactTelex": null,
"contactFax": null,
"contactEmail": "someone@email.com",
"oracleVendorSiteId": 625128,
"phone2Type": "WO",
"phone2": "5551234567",
"phone3Type": "WO",
"phone3": "5551234567",
"latitude": "44.38129",
"longitude": "-92.03521",
"customFlexAttribute": [
{
"name": "REVIEW_DATE",
"value": null,
"valueDate": "2001-12-31"
}
]
}
],
"customerId": 121902,
"localizationExtensions": [
{
"country": "BR",
"attributes": [
{
"name": "SPECIAL_CATEGORY_CODE",
"value": "WS_PRC_08",
"valueDate": "2001-12-31"
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
"status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}
Create Store Department Up Charges
Functional Area

Organizational Hierarchy - Stores

Business Overview

This service is used to include department level up-charges for an existing store in Merchandising.

Service Type
POST
ReST URL
MerchIntegrations/services/organizationalHierarchy/store/departmentUpCharges/
create

Input Payload Details

Table 5-1126 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)The unique identifer of the store.
storeTypeNoString (1)The one character abbreviation of the
store type.
upchargeNoCollection of
Object
References a collection of store
department upcharges.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-1127 Upcharge - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hierarchyLevelYesString (6)The hierarchy level for Up Charges.
Valid values are: DI - Division, GR -
Group, DE - Department, AD - All
Department.

Table 5-1127 (Cont.) Upcharge - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hierarchyValueNoNumber (4)The value of the hierarchy. This
column can contain Division/Group/
Department IDs when Hier Level is
’DI’, ‘GR’, or ‘DE’. Otherwise, it should
be left blank when Hier Level is ‘AD’.
fromLocationNoString (10)Contains the source location from
which goods will be transferred. This
column can contain Country/Area/
Region IDs when From Location Type
is ‘C’, ‘A’, or ‘R’. It will be a store,
virtual warehouse or physical
warehouse when From Location Type
is ‘S’, ‘W’ or ‘PW’. Otherwise, it should
be left blank when From Location
Type is either ‘AS’ or ‘AW’.
toLocationNoString (10)Contains the destination location to
which goods will be transferred. This
column can contain Country/Area/
Region IDs when To Location Type is
’C’, ‘A’, or ‘R’. It will be a store, virtual
warehouse or physical warehouse
when To Location Type is ‘S’, ‘W’ or
’PW’. Otherwise, it should be left
blank when To Location Type is
either ‘AS’ or ‘AW’.
fromLocationTypeYesString (6)Contains the type of source location
from which goods will be transferred.
Valid values are defned in code type
’LTPC’. Examples are: C - Country, A -
Area, R - Region, S - Store, W - Virtual
Warehouse, PW - Physical
Warehouse, AS - All Stores, AW - All
Warehouses.
toLocationTypeYesString (6)Contains the type of source location
from which goods will be transferred.
Valid values are defned in code type
’LTPC’. Examples are: C - Country, A -
Area, R - Region, S - Store, W - Virtual
Warehouse, PW - Physical
Warehouse, AS - All Stores, AW - All
Warehouses.
detailsNoCollection of
Object
References a collection of store
department upcharge details.

Table 5-1128 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentIdYesString (10)This feld contains the unique
identifer of the Up Charge
component.

Table 5-1128 (Cont.) Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentRateYesNumber
(20,4)
This feld contains the rate to be
charged against the cost of the
Item/To Location combinations
within the department.
perCountNoNumber
(12,4)
This feld contains a count indicating
the amount of the Per Count Unit of
Measure to which the rate applies.
perCountUomNoString (4)This feld contains the unit of
measure in which the Per Count is
specifed.
upChargeGroupYesString (6)This feld contains the up charge
group to which the component ID
belongs. Valid values can be found on
the codes table with a code type of
UCHG. Examples are Admin. Fee (A),
Freight (F) and Special K Fees (K).
componentCurrencyYesString (3)This feld contains the currency of the
Up Charge component.
effectiveDateNodateThe date from which the new values
are effective in the system.
itemDefaultIndNoString (1)Indicates if component rate
information is updated or not for
existing items under the department.
transferAllocationDefaultIndNoString (1)Indicates if component rate
information is updated or not for
existing transfers and allocations
under the department.
computationValueBaseNoString (10)Contains the Computation Value Basis
for the Up Charge component.
costBasisNoString (6)Contains the basis the Up Charge will
be calculated against. Valid values are
defned in code type UCCB (Up Charge
Cost Basis) with values: Weighted
Average Cost (W), Supplier Cost (S)
and Off-Invoice Net Cost (N).
includeInTotalUpChargeIndNoString (1)Used to determine if the value of the
individual up charge component is
used to calculate the total up charge
(Y) or if it is only used as the basis of
calculating another up charge (N).
This column will default to the value
in the ELC_COMP table but can be
updated at the department level.

Table 5-1129 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.

Table 5-1129 (Cont.) LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-1130 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "store": 6000,
  "storeType": "C",
  "upcharge": [
    {
      "hierarchyLevel": "DI",
      "hierarchyValue": 1000,
      "fromLocation": "1231",
      "toLocation": "3112",
      "fromLocationType": "S",
      "toLocationType": "S",
      "details": [
        {
          "componentId": "UC1",
          "componentRate": 3.55,
          "perCount": 3,
          "perCountUom": "EA",
          "upChargeGroup": "A",
          "componentCurrency": "USD",
          "effectiveDate": "2001-12-31",
          "itemDefaultInd": "Y",
          "transferAllocationDefaultInd": "Y",
          "computationValueBase": null,
          "costBasis": "S",
          "includeInTotalUpChargeInd": "N"
        }
      ]
    }
  ],
  "localizationExtensions": [
    {
      "country": "BR",
      "attributes": [
        {
          "name": "SPECIAL_CATEGORY_CODE",
          "value": "WS_PRC_08",
          "valueDate": "2001-12-31"
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Create Store Hours

Functional Area

Organizational Hierarchy - Stores

Business Overview

This service is used to define the store hours attribute for an existing store in Merchandising.

Service Type

POST

ReST URL

MerchIntegrations/services/organizationalHierarchy/store/hours/create

Input Payload Details

Table 5-1131 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)The unique identifer of the store.
storeTypeNoString (1)The one character abbreviation of the
store type.
hoursNoCollection of
Object
References a collection of store hours
details.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-1132 Hours - Object. See list of elements for detail

Element NameRequiredData TypeDescription
dayNoYesNumber (1)This feld indicates the day of the
week for which store timing is being
stored.
storeOpenTimeNoString (8)Contains the open time for the store.
The time format must be in HH:MM
AM or HH:MM PM.
storeCloseTimeNoString (8)Contains the close time for the store.
The time format must be in HH:MM
AM or HH:MM PM.

Table 5-1133 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-1134 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "store": 6000,
  "storeType": "C",
  "hours": [
    {
      "dayNo": 1,
      "storeOpenTime": null,
      "storeCloseTime": null
    }
  ],
  "localizationExtensions": [
    {
      "country": "BR",
      "attributes": [
        {
          "name": "SPECIAL_CATEGORY_CODE",
          "value": "WS_PRC_08",
          "valueDate": "2001-12-31"
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Create Store Location Trait
Functional Area

Organizational Hierarchy - Stores

Business Overview

The primary role of this service is to assign location trait to an existing store in Merchandising. Location traits must already exist prior to being added to the store.

Service Type

POST

ReST URL

MerchIntegrations/services/organizationalHierarchy/store/locationTrait/create

Input Payload Details

Table 5-1135 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)The unique identifer of the store.
storeTypeNoString (1)The one character abbreviation of the
store type.
traitsNoCollection of
Object
References a collection of location
traits.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-1136 Traits - Object. See list of elements for detail

Element NameRequiredData TypeDescription
traitIdYesNumber (4)The identifer of the location trait.
Though the node is optional, this feld
is required if the node is included.
The node can not be populated on the
store create message.

Table 5-1137 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-1138 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "store": 6000,
  "storeType": "C",
  "traits": [
    {
      "traitId": 1000
    }
  ],
  "localizationExtensions": [
    {
      "country": "BR",
      "attributes": [
        {
          "name": "SPECIAL_CATEGORY_CODE",
          "value": "WS_PRC_08",
          "valueDate": "2001-12-31"
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Create Walk-Through Store

Functional Area

Organizational Hierarchy - Stores
Business Overview

This service can be used to assign walk-through store to an existing store in Merchandising. Walk-through stores are used in Merchandising as part of the transfer reconciliation process

and are used to indicate two or more stores that have a ‘walk through’ connection between them - on the sales floor and/or the backroom.

Service Type

POST

ReST URL

MerchIntegrations/services/organizationalHierarchy/store/walkThroughStore/
create

Input Payload Details

Table 5-1139 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)The unique identifer of the store.
storeTypeNoString (1)The one character abbreviation of the
store type.
walkThroughNoCollection of
Object
References a collection of
walkthrough stores.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-1140 WalkThrough - Object. See list of elements for detail

Element NameRequiredData TypeDescription
walkThroughStoreYesNumber (10)A walk through store of the store
being modifed. Though the node is
optional, if it is included this feld is
required. This node can not be
populated on a store create message.

Table 5-1141 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection of
Object
This holds the details of localization
attributes.

Table 5-1142 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "store": 6000,
  "storeType": "C",
  "walkThrough": [
    {
      "walkThroughStore": 187308
    }
  ],
  "localizationExtensions": [
    {
      "country": "BR",
      "attributes": [
        {
          "name": "SPECIAL_CATEGORY_CODE",
          "value": "WS_PRC_08",
          "valueDate": "2001-12-31"
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Store

Functional Area

Organizational Hierarchy - Stores

Business Overview

This service provides the ability to delete an existing store data based on the request from an external system if Merchandising is not the system of record for organizational hierarchy information.

After the data has been validated, the service will add the store to the DAILY_PURGE table for processing deletion through a batch process.

Service Type

DELETE

ReST URL

MerchIntegrations/services/organizationalHierarchy/store/delete

Input Payload Details

Table 5-1143 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)The store number being deleted, or
for which a location trait or walk
through store is being disassociated.
Sample Input Message
{
  "store": 6000
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Store Address
Functional Area

Organizational Hierarchy - Stores

Business Overview

This service is used to delete the address from an existing store in Merchandising.

Service Type

DELETE

ReST URL
MerchIntegrations/services/organizationalHierarchy/store/address/delete

Input Payload Details

Table 5-1144 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)The store number being deleted, or
for which a location trait or walk
through store is being disassociated.
addressNoCollection of
Object
It’s a referenced element. For detailed
description, please refer referenced
element doc.

Table 5-1145 Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
externalReferenceIdYesString (32)The unique identifer of the address
being deleted. For address delete
messages that are interfaced into
RMS, it will hold the external store
system’s address ID. For address
delete messages published out of
RMS, it will hold RMS’s address ID.
Sample Input Message
{
  "store": 6000,
  "address": [
    {
      "externalReferenceId": "ADDREF01"
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Store Department Up Charges

Functional Area

Organizational Hierarchy - Stores
Business Overview

This service is used to delete department level up-charges from an existing store in Merchandising.

Service Type

DELETE

ReST URL

MerchIntegrations/services/organizationalHierarchy/store/departmentUpCharges/
delete

Input Payload Details

Table 5-1146 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)The store number being deleted, or
for which a location trait or walk
through store is being disassociated.
upchargeNoCollection of
Object
Child node.

Table 5-1147 Upcharge - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hierarchyLevelYesString (6)The hierarchy level for Department
Up Charges. Valid values are: DI -
Division, GR - Group, DE -
Department, AD - All Department.
hierarchyValueNoNumber (4)The value of the hierarchy.
fromLocationNoString (10)Contains the source location from
which goods will be transferred. This
column can contain Country/Area/
Region IDs when From Location Type
is ‘C’, ‘A’, or ‘R’. It will be a store,
virtual warehouse or physical
warehouse when From Location Type
is ‘S’, ‘W’ or ‘PW’. Otherwise, it should
be left blank when From Location
Type is either ‘AS’ or ‘AW’.
toLocationNoString (10)Contains the destination location to
which goods will be transferred. This
column can contain Country/Area/
Region IDs when To Location Type is
’C’, ‘A’, or ‘R’. It will be a store, virtual
warehouse or physical warehouse
when To Location Type is ‘S’, ‘W’ or
’PW’. Otherwise, it should be left
blank when To Location Type is
either ‘AS’ or ‘AW’.
fromLocationTypeYesString (6)Contains the type of source location
from which goods will be transferred.
Valid values are defned in code type
’LTPC’. Examples are: C - Country, A -
Area, R - Region, S - Store, W - Virtual
Warehouse, PW - Physical
Warehouse, AS - All Stores, AW - All
Warehouses.
toLocationTypeYesString (6)Contains the type of source location
from which goods will be transferred.
Valid values are defned in code type
’LTPC’. Examples are: C - Country, A -
Area, R - Region, S - Store, W - Virtual
Warehouse, PW - Physical
Warehouse, AS - All Stores, AW - All
Warehouses.

Table 5-1147 (Cont.) Upcharge - Object. See list of elements for detail

Element NameRequiredData TypeDescription
detailsNoCollection ofReferences a collectiion of store
Objectdepartment upcharge details.

Table 5-1148 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentIdNoString (10)This feld contains the unique
identifer of the Up Charge
component.
itemDefaultIndNoString (1)Indicates whether component rate
information is deleted or not for
existing items under the department.
Sample Input Message
{
  "store": 6000,
  "upcharge": [
    {
      "hierarchyLevel": "GR",
      "hierarchyValue": 1000,
      "fromLocation": "1231",
      "toLocation": "100124",
      "fromLocationType": "S",
      "toLocationType": "S",
      "details": [
        {
          "componentId": "UC2",
          "itemDefaultInd": "Y"
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Store Hours
Functional Area

Organizational Hierarchy - Stores

Business Overview

This service is used to delete the store hours from an existing store in Merchandising.

Service Type

DELETE

ReST URL
MerchIntegrations/services/organizationalHierarchy/store/hours/delete
Input Payload Details

Table 5-1149 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)The store number being deleted, or
for which a location trait or walk
through store is being disassociated.
hoursNoCollection of
Object
It’s a referenced element. For detailed
description, please refer referenced
element doc.

Table 5-1150 Hours - Object. See list of elements for detail

Element NameRequiredData TypeDescription
dayNoYesNumber (1)This feld indicates the day of the
week for which store timing is being
stored.
Sample Input Message
{
  "store": 6000,
  "hours": [
    {
      "dayNo": 4
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Store Location Trait
Functional Area
Organizational Hierarchy - Stores
Business Overview

This service is used to delete the location trait from an existing store in Merchandising.

Service Type

DELETE

ReST URL
MerchIntegrations/services/organizationalHierarchy/store/locationTrait/delete

Input Payload Details

Table 5-1151 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)The store number being deleted, or
for which a location trait or walk
through store is being disassociated.
traitsNoCollection of
Object
It’s a referenced element. For detailed
description, please refer referenced
element doc.

Table 5-1152 Traits - Object. See list of elements for detail

Element NameRequiredData TypeDescription
traitIdYesNumber (4)The identifer of the location trait.
Though the node is optional, this feld
is required if the node is included.
The node can not be populated on the
store create message.
Sample Input Message
{
  "store": 6000,
  "traits": [
    {
      "traitId": 1000
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Walk-Through Store
Functional Area

Organizational Hierarchy - Stores

Business Overview

This service can be used to delete the walk-through store from an existing store in Merchandising.

Service Type

DELETE

ReST URL
MerchIntegrations/services/organizationalHierarchy/store/walkThroughStore/
delete
Input Payload Details

Table 5-1153 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)The store number being deleted, or
for which a location trait or walk
through store is being disassociated.
walkThroughNoCollection of
Object
It’s a referenced element. For detailed
description, please refer referenced
element doc.

Table 5-1154 WalkThrough - Object. See list of elements for detail

Element NameRequiredData TypeDescription
walkThroughStoreYesNumber (10)A walk through store of the store
being modifed. Though the node is
optional, if it is included this feld is
required. This node can not be
populated on a store create message.
Sample Input Message
{
  "store": 6000,
  • "walkThrough": [
    {
      "walkThroughStore": 187308
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Update Store

Functional Area

Organizational Hierarchy - Stores

Business Overview

This service provides the ability to update an existing store data based on the request from an external system if Merchandising is not the system of record for organizational hierarchy information.

After the data has been validated, unlike store creation or deletion, the update is applied in Merchandising immediately upon message receipt.

For more details on stores, see the Create store service description.

Service Type

PUT

ReST URL

MerchIntegrations/services/organizationalHierarchy/store/update
Availability During Nightly Batch Cycle

This service will not be available during total duration of nightly batch run cycle.

Input Payload Details

Table 5-1155 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)The unique identifer
of the store.
storeNameYesString (150)The name of the store.
storeTypeNoString (1)The one character
abbreviation of the
store type. This feld
cannot be modifed.
storeNameSecondaryNoString (150)Secondary name of the
store. This feld can
only be populated
when system_options.
secondary_desc_ind =
Y.
channelIdNoNumber (4)The identifer of the
channel. This value
must be predefned on
the CHANNELS table.
In a multichannel
environment this feld
is required.
districtYesNumber (10)The number of the
district of which the
store is a member.
This value must be
predefned on the
DISTRICT table.
transferZoneNoNumber (4)The transfer zone in
which the store is
located. This value
must be predefned on
the TSFZONE table.
defaultWarehouseNoNumber (10)This feld contains the
default warehouse for
the store. This value
must be a virtual
warehouse predefned
on the WH table.
currencyCodeYesString (3)The code of the
currency under which
the store operates.
This value must be
predefned on the
CURRENCIES table. It
cannot be modifed.
orgUnitIdNoNumber (15)Column will contain
the organizational unit
ID value. This feld
cannot be modifed.

Table 5-1155 (Cont.) Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
stockholdingIndYesString (1)Indicates if the store
can hold stock. This
feld cannot be
modifed.
customerOrderLocatio
nInd
NoString (1)Customer order
location indicator. This
feld can have Y or N.
customerOrderShippin
gInd
NoString (1)This feld indicates
wheather the
customer order has
been been shipped
from Warehouse or
not.
giftWrappingIndNoString (1)This feld indicates
weathere a gift
wrapping needs to be
done or not.
onlineStoreIndNoString (1)This feld indicates
how store day will be
managed by ReSA. If
the indicator is Y then
ReSA will
automatically open
and close the store day.
storeName10NoString (10)The ten character
abbreviation of the
store name.
storeName3NoString (3)The three character
abbreviation of the
store name.
storeClassYesString (1)The code of the class of
which the store is a
member.
storeManagerNameYesString (120)The name of the store
manager.
storeOpenDateYesdateThe date on which the
store opened.
storeCloseDateNodateThe date on which the
store closed.
acquiredDateNodateThe date on which the
store was acquired.
remodelDateNodateThe date on which the
store was remodeled.
faxNoNoString (20)Contains the fax
number for the store.
phoneNoNoString (20)This type can hold a
number of digits count
number.

Table 5-1155 (Cont.) Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
emailNoString (100)The email address of
the store.
totalSquareFeetNoNumber (8)The total square
footage of the store.
sellingSquareFeetNoNumber (8)The total square
footage of the store’s
selling area.
linearDistanceNoNumber (8)The total merchandise
space of the store.
storeFormatNoNumber (4)The code of the store
format of the store.
This value must be
predefned on the
STORE_FORMAT table.
mallNameNoString (120)The name of the mall
in which the store is
located.
stopOrderDaysNoNumber (3)The number of days
before the store close
date that the store will
stop accepting orders.
startOrderDaysYesNumber (3)The number of days
before the store open
date that the store will
begin accepting
orders.
languageNoNumber (6)The code of the
language used at the
store. This value must
be predefned on the
LANG table.
isoCodeNoString (6)The character code
corresponding to the
Language used at the
store
integratedPosIndYesString (1)Indicates whether the
store’s POS is
integrated.
dunsNumberNoString (9)Holds the Dun and
Bradsteet (DUNS)
number
dunsLocationNoString (4)The Dun and
Bradstreet number to
identify the location.

Table 5-1155 (Cont.) Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
priceStoreNoNumber (10)The store from which
pricing information
will be copied to the
new store. The pricing
store does not need
the same currency as
the new store. This
value is not required
on a create message
and should not be
populated on a modify
message.
costLocationNoNumber (10)The location from
which to copy cost
information to the
new store. This feld
should only be
populated on store
create messages. This
value must be
predefned on the WH
or STORE table. This
value cannot be
modifed.
vatIncludeIndNoString (1)Indicates whether
retail prices for the
store will contain VAT.
vatRegionNoNumber (4)The vat region of
which the store is a
part. This value must
be predefned on the
VAT_REGION table. It
is required if VAT is on
in the system.
likeStoreNoNumber (10)The store from which
the new store will
have item locations
copied. This value
must be predefned on
the STORE table. It
cannot be modifed
and will only be
populated on a create
message.
transferEntityYesNumber (10)The transfer entity of
which the store is a
part. This value must
be predefned on the
TSF_ENTITY table. If
the system allows
intercompany
transfers this feld is
required.

Table 5-1155 (Cont.) Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
sisterStoreNoNumber (10)The store which will
be used to relate
historical data to the
new store. This value
must be predefned on
the STORE table.
transactionNoGenerat
ed
YesString (6)The level at which
unique POS
transaction numbers
are generated.
timezoneNameNoString (64)TimeZone name.
customerIdNoNumber (10)Customer ID
associated with the
WF Store.
taxIdNoString (20)Contains the unique
tax identifcation
number of the store.
autoReceiveNoString (1)This column will
indicate whether the
client is allowing
automatic receipt for
the store. Valid Values
are Y (Yes), N (No).
customFlexAttributeNoCollection of ObjectReferences a collection
of custom fexible
attributes. This
collection is treated as
a single group and
should include all
named fexible
attributes for the
business entity. If any
confgured named
attribute is missing
from the input
collection, its value
will be set to NULL
hoursNoCollection of ObjectReferences a collection
of store hours details.
localizationExtensionsNoCollection of ObjectHolds optional
localization attributes
that will be processed
by the localization
extension module.

Table 5-1156 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute
name.

Table 5-1156 (Cont.) CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
valueNoString (250)Holds the numeric or
string value of the
attribute.
valueDateNodateHolds the date value of
the attribute.

Table 5-1157 Hours - Object. See list of elements for detail

Element NameRequiredData TypeDescription
dayNoYesNumber (1)This feld indicates the
day of the week for
which store timing is
being stored.
storeOpenTimeNoString (8)Contains the open time
for the store. The time
format must be in
HH:MM AM or HH:MM
PM.
storeCloseTimeNoString (8)Contains the close time
for the store. The time
format must be in
HH:MM AM or HH:MM
PM.

Table 5-1158 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country
associated with the
localization attributes.
attributesYesCollection of ObjectThis holds the details
of localization
attributes.

Table 5-1159 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute
name.
valueNoString (250)Holds the numeric or
string value of the
attribute.
valueDateNodateHolds the date value of
the attribute.
Sample Input Message
{
"store": 6001,
"storeName": "6001 Retail storeName",
"storeType": "C",
"storeNameSecondary": "storeNameSecondary",
"channelId": 1,
"district": 121,
"transferZone": 1000,
"defaultWarehouse": 5,
"currencyCode": "USD",
"orgUnitId": 1111111111,
"stockholdingInd": "Y",
"customerOrderLocationInd": "Y",
"customerOrderShippingInd": "Y",
"giftWrappingInd": "Y",
"onlineStoreInd": "N",
"storeName10": "StoreName",
"storeName3": "Str",
"storeClass": "A",
"storeManagerName": "storeMgrName",
"storeOpenDate": "2001-12-31",
"storeCloseDate": "2001-12-31",
"acquiredDate": "2001-12-31",
"remodelDate": "2001-12-31",
"faxNo": null,
"phoneNo": "1800800800",
"email": "someone@email.com",
"totalSquareFeet": 762426,
"sellingSquareFeet": 570207,
"linearDistance": 717780,
"storeFormat": 1000,
"mallName": "mallName",
"stopOrderDays": 100,
"startOrderDays": 6,
"language": 1,
"isoCode": "en",
"integratedPosInd": "Y",
"dunsNumber": null,
"dunsLocation": null,
"priceStore": 6000,
"costLocation": 6000,
"vatIncludeInd": "Y",
"vatRegion": 1000,
"likeStore": null,
"transferEntity": 1000,
"sisterStore": 1913,
"transactionNoGenerated": "S",
"timezoneName": "timezoneName",
"customerId": 121902,
"taxId": null,
"autoReceive": "Y",
"customFlexAttribute": [
{
"name": "REVIEW_DATE",
"value": null,
"valueDate": "2001-12-31"
}
],
"hours": [
{
"dayNo": 1,
"storeOpenTime": null,
"storeCloseTime": null
}
],
"localizationExtensions": [
{
"country": "BR",
"attributes": [
{
"name": "SPECIAL_CATEGORY_CODE",
"value": "WS_PRC_08",
"valueDate": "2001-12-31"
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}
Update Store Address
Functional Area

Organizational Hierarchy - Stores

Business Overview

This service is used to update the address of an existing store in Merchandising.

Service Type
PUT
ReST URL
MerchIntegrations/services/organizationalHierarchy/store/address/update
Input Payload Details

Table 5-1160 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)The unique identifer
of the store.
storeTypeNoString (1)The one character
abbreviation of the
store type.
addressNoCollection of ObjectReferences a collection
of store address.
customerIdNoNumber (10)Customer ID
associated with the
WF Store.
localizationExtensionsNoCollection of ObjectHolds optional
localization attributes
that will be processed
by the localization
extension module.

Table 5-1161 Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
addressTypeYesString (2)Indicates the type for
the address. Valid
values (e. g. 01-
business, 02-postal)
are in the add_type
table.
externalReferenceIdYesString (32)This feld holds the
unique address ID
from the source
system. For addresses
that are interfaced
into Merchandising, it
will hold the external
system’s address ID.

Table 5-1161 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
primaryAddressTypeI
nd
NoString (1)Indicates whether the
address type is the
primary address type
for the module.
primaryAddressIndYesString (1)Indicates whether this
address is the primary
address for this
address type.
add1YesString (240)Contains the frst line
of the address
add2NoString (240)Contains the second
line of the address.
add3NoString (240)Contains the thirdline
of the address.
cityYesString (120)Contains the name of
the city that is
associated with the
address.
stateNoString (3)Contains the postal
abbreviation for the
state in which the
warehouse is located.
stateNameNoString (120)Indicates the State
name.
countryYesString (3)Contains the country
where the address
exists.
countryNameNoString (120)Indicates the Country
Name. For e. g
Brazil,United States
postNoString (30)Contains the zip code
for the address.
countyNoString (250)Contains the county
name for the location.
jurisdictionCodeNoString (10)ID associated to the tax
jurisdiction of the
country-state
relationship.
contactNameNoString (120)Contains the name of
the contact for the
supplier at this
address.
contactPhoneNoString (20)Contains the phone
number of the contact
person at this address.
contactTelexNoString (20)Contains the telex
number of the partner
or suppliers
representative contact.

Table 5-1161 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
contactFaxNoString (20)Contains the fax
number of the contact
person at this address.
contactEmailNoString (100)Contains the email
address of the partner
or suppliers
representative contact.
oracleVendorSiteIdNoNumber (15)The unique identifer
of this address in the
Oracle Financials
systems, if used.
phone2TypeNoString (6)This column contains
the type of the phone
number stored in
Phone2 feld. Valid
values are AS -
Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work also can be
found on the codes
table with a code type
of PHTP.
phone2NoString (20)This column contains
an additional phone
number associated
with the address.
phone3TypeNoString (6)This column contains
the type of the phone
number stored in
Phone3 feld. Valid
values are AS -
Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work also can be
found on the codes
table with a code type
of PHTP.
phone3NoString (20)This column contains a
second additional
phone number
associated with the
address.

Table 5-1161 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
latitudeNoString (30)This column contains
the north-south
geographic coordinate
of the address,
represented in
decimal degrees (e. g. ,
37. 7749).
longitudeNoString (30)This column contains
the east-west
geographic coordinate
of the address,
represented in
decimal degrees (e. g. ,
-122. 4194).
customFlexAttributeNoCollection of ObjectReferences a collection
of custom fexible
attributes. This
collection is treated as
a single group and
should include all
named fexible
attributes for the
business entity. If any
confgured named
attribute is missing
from the input
collection, its value
will be set to NULL

Table 5-1162 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute
name.
valueNoString (250)Holds the numeric or
string value of the
attribute.
valueDateNodateHolds the date value of
the attribute.

Table 5-1163 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country
associated with the
localization attributes.
attributesYesCollection of ObjectThis holds the details
of localization
attributes.

Table 5-1164 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute
name.
valueNoString (250)Holds the numeric or
string value of the
attribute.
valueDateNodateHolds the date value of
the attribute.
Sample Input Message
{
"store": 6000,
"storeType": "C",
"address": [
{
"addressType": "01",
"externalReferenceId": "REF6001",
"primaryAddressTypeInd": "Y",
"primaryAddressInd": "Y",
"add1": "101 First Street",
"add2": "201 Second Street",
"add3": "301 Third Street",
"city": "Minneapolis",
"state": "MN",
"stateName": "stateName",
"country": "US",
"countryName": "countryName",
"post": "55555-1234",
"county": "Some County",
"jurisdictionCode": null,
"contactName": "contactName",
"contactPhone": "1800800800",
"contactTelex": null,
"contactFax": null,
"contactEmail": "someone@email.com",
"oracleVendorSiteId": 625128,
"phone2Type": "WO",
"phone2": "5551234567",
"phone3Type": "WO",
"phone3": "5551234567",
"latitude": "44.38129",
"longitude": "-92.03521",
"customFlexAttribute": [
{
"name": "REVIEW_DATE",
"value": null,
"valueDate": "2001-12-31"
}
]
}
],
"customerId": 121902,
"localizationExtensions": [
{
"country": "BR",
"attributes": [
{
"name": "SPECIAL_CATEGORY_CODE",
"value": "WS_PRC_08",
"valueDate": "2001-12-31"
}
]
}
]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}
Update Store Department Up Charges

Functional Area

Organizational Hierarchy - Stores

Business Overview

This service is used to update department level up-charges for an existing store in Merchandising.

Service Type

PUT

ReST URL
MerchIntegrations/services/organizationalHierarchy/store/departmentUpCharges/
update
Input Payload Details

Table 5-1165 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)The unique identifer of the store.
storeTypeNoString (1)The one character abbreviation of the
store type.
upchargeNoCollection of
Object
References a collection of store
department upcharges.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-1166 Upcharge - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hierarchyLevelYesString (6)The hierarchy level for Up Charges.
Valid values are: DI - Division, GR -
Group, DE - Department, AD - All
Department.
hierarchyValueNoNumber (4)The value of the hierarchy. This
column can contain Division/Group/
Department IDs when Hier Level is
’DI’, ‘GR’, or ‘DE’. Otherwise, it should
be left blank when Hier Level is ‘AD’.
fromLocationNoString (10)Contains the source location from
which goods will be transferred. This
column can contain Country/Area/
Region IDs when From Location Type
is ‘C’, ‘A’, or ‘R’. It will be a store,
virtual warehouse or physical
warehouse when From Location Type
is ‘S’, ‘W’ or ‘PW’. Otherwise, it should
be left blank when From Location
Type is either ‘AS’ or ‘AW’.
toLocationNoString (10)Contains the destination location to
which goods will be transferred. This
column can contain Country/Area/
Region IDs when To Location Type is
’C’, ‘A’, or ‘R’. It will be a store, virtual
warehouse or physical warehouse
when To Location Type is ‘S’, ‘W’ or
’PW’. Otherwise, it should be left
blank when To Location Type is
either ‘AS’ or ‘AW’.

Table 5-1166 (Cont.) Upcharge - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fromLocationTypeYesString (6)Contains the type of source location
from which goods will be transferred.
Valid values are defned in code type
’LTPC’. Examples are: C - Country, A -
Area, R - Region, S - Store, W - Virtual
Warehouse, PW - Physical
Warehouse, AS - All Stores, AW - All
Warehouses.
toLocationTypeYesString (6)Contains the type of source location
from which goods will be transferred.
Valid values are defned in code type
’LTPC’. Examples are: C - Country, A -
Area, R - Region, S - Store, W - Virtual
Warehouse, PW - Physical
Warehouse, AS - All Stores, AW - All
Warehouses.
detailsNoCollection of
Object
References a collection of store
department upcharge details.

Table 5-1167 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentIdYesString (10)This feld contains the unique
identifer of the Up Charge
component.
componentRateYesNumber
(20,4)
This feld contains the rate to be
charged against the cost of the
Item/To Location combinations
within the department.
perCountNoNumber
(12,4)
This feld contains a count indicating
the amount of the Per Count Unit of
Measure to which the rate applies.
perCountUomNoString (4)This feld contains the unit of
measure in which the Per Count is
specifed.
upChargeGroupYesString (6)This feld contains the up charge
group to which the component ID
belongs. Valid values can be found on
the codes table with a code type of
UCHG. Examples are Admin. Fee (A),
Freight (F) and Special K Fees (K).
componentCurrencyYesString (3)This feld contains the currency of the
Up Charge component.
effectiveDateNodateThe date from which the new values
are effective in the system.
itemDefaultIndNoString (1)Indicates if component rate
information is updated or not for
existing items under the department.

Table 5-1167 (Cont.) Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
transferAllocationDefaultIndNoString (1)Indicates if component rate
information is updated or not for
existing transfers and allocations
under the department.
computationValueBaseNoString (10)Contains the Computation Value Basis
for the Up Charge component.
costBasisNoString (6)Contains the basis the Up Charge will
be calculated against. Valid values are
defned in code type UCCB (Up Charge
Cost Basis) with values: Weighted
Average Cost (W), Supplier Cost (S)
and Off-Invoice Net Cost (N).
includeInTotalUpChargeIndNoString (1)Used to determine if the value of the
individual up charge component is
used to calculate the total up charge
(Y) or if it is only used as the basis of
calculating another up charge (N).
This column will default to the value
in the ELC_COMP table but can be
updated at the department level.

Table 5-1168 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-1169 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "store": 6000,
  "storeType": "C",
  "upcharge": [
    {
      "hierarchyLevel": "DI",
      "hierarchyValue": 1000,
      "fromLocation": "1231",
      "toLocation": "3112",
      "fromLocationType": "S",
      "toLocationType": "S",
      "details": [
        {
          "componentId": "UC1",
          "componentRate": 3.55,
          "perCount": 3,
          "perCountUom": "EA",
          "upChargeGroup": "A",
          "componentCurrency": "USD",
          "effectiveDate": "2001-12-31",
          "itemDefaultInd": "Y",
          "transferAllocationDefaultInd": "Y",
          "computationValueBase": null,
          "costBasis": "S",
          "includeInTotalUpChargeInd": "N"
        }
      ]
    }
  ],
  "localizationExtensions": [
    {
      "country": "BR",
      "attributes": [
        {
          "name": "SPECIAL_CATEGORY_CODE",
          "value": "WS_PRC_08",
          "valueDate": "2001-12-31"
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Update Store Hours

Functional Area

Organizational Hierarchy - Stores

Business Overview

This service is used to modify the store hours for an existing store in Merchandising.

Service Type
PUT
ReST URL
MerchIntegrations/services/organizationalHierarchy/store/hours/update
Input Payload Details

Table 5-1170 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)The unique identifer of the store.
storeTypeNoString (1)The one character abbreviation of the
store type.
hoursNoCollection of
Object
References a collection of store hours
details.
localizationExtensionsNoCollection of
Object
Holds optional localization attributes
that will be processed by the
localization extension module.

Table 5-1171 Hours - Object. See list of elements for detail

Element NameRequiredData TypeDescription
dayNoYesNumber (1)This feld indicates the day of the
week for which store timing is being
stored.
storeOpenTimeNoString (8)Contains the open time for the store.
The time format must be in HH:MM
AM or HH:MM PM.
storeCloseTimeNoString (8)Contains the close time for the store.
The time format must be in HH:MM
AM or HH:MM PM.

Table 5-1172 LocalizationExtensions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryYesString (3)Id of the country associated with the
localization attributes.
attributesYesCollection ofThis holds the details of localization
Objectattributes.

Table 5-1173 Attributes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "store": 6000,
  "storeType": "C",
  "hours": [
    {
      "dayNo": 1,
      "storeOpenTime": null,
      "storeCloseTime": null
    }
  ],
  "localizationExtensions": [
    {
      "country": "BR",
      "attributes": [
        {
          "name": "SPECIAL_CATEGORY_CODE",
          "value": "WS_PRC_08",
          "valueDate": "2001-12-31"
        }
      ]
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Manage Store Conditions

Functional Area

Organizational Hierarchy - Stores

Business Overview

This service allows user to add, update or delete store conditions at a given store location. Store conditions are events that may have had an impact on store traffic and sales such as power outages, weather conditions, states of emergency, road construction, or community events.

Store condition types are defined and maintained under the Store Conditions (SCND) code type. The condition code under this code type which have the used indicator set to Yes (‘Y’) will be applicable for set up. A store condition will have a start date and may or may not have an end date such as an ongoing condition. Conditions that occurred on a single day should have an end date equal to the start date. Extra details about the condition can be provided in the comments.

In case of error, the standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Service Type

POST

ReST URL

MerchIntegrations/services/organizationalHierarchy/store/conditions/manage

Input Payload Details

Table 5-1174 Manage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeNoNumber (4)Number of condition
records included in
request

Table 5-1174 (Cont.) Manage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectContainer for store
condition records.

Table 5-1175 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionYesString (10)Contains the action for
the request. Valid
values are CREATE,
UPDATE, DELETE.
storeYesNumber (10)This column contains
the number which
uniquely identifes the
store.
conditionTypeYesString (6)This will hold the
condition types
confgured under code
type ”SCND” with Used
indicator as ”Y”.
startDateYesdateThis will hold the start
date of the condition.
endDateNodateThis will hold the end
date of the condition.
clearEndDateNoString (1)Indicates whether to
clear the end date.
Valid values are Y
(clear) or N (do not
clear) or null.
commentsNoString (250)This will hold the extra
information about the
condition set up.
clearCommentsNoString (1)Indicates whether to
clear the comments.
Valid values are Y
(clear) or N (do not
clear) or null.

Table 5-1176 ManageError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)This column contains
the number which
uniquely identifes the
store.
conditionTypeYesString (6)This will hold the
condition types
confgured under code
type ”SCND” with Used
indicator as ”Y”.

Table 5-1176 (Cont.) ManageError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
startDateYesdateThis will hold the start
date of the condition.
errorMessagesYesArray of StringContains all the errors
because of which the
store condition
processing in
Merchandising failed.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"action": "CREATE",
"store": 10080,
"conditionType": "PO",
"startDate": "2001-12-31",
"endDate": "2001-12-31",
"clearEndDate": "Y",
"comments": "Power outage due to maintenance",
"clearComments": "Y"
}
]
}

Response Code: 200 (Success)

Table 5-1177 ManageResponse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeConditionsYesCollection of ObjectCollection of
successfully processed
store condition records
returned in response.

Table 5-1178 StoreConditions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)This column contains
the number which
uniquely identifes the
store.
conditionTypeYesString (6)This will hold the
condition types
confgured under code
type ”SCND” with Used
indicator as ”Y”.

Table 5-1178 (Cont.) StoreConditions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
startDateYesdateThis will hold the start
date of the condition.
Sample Response Message
{
"storeConditions": [
{
"store": 10080,
"conditionType": "PO",
"startDate": "2001-12-31"
}
]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Table 5-1179 ManageError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)This column contains
the number which
uniquely identifes the
store.
conditionTypeYesString (6)This will hold the
condition types
confgured under code
type ”SCND” with Used
indicator as ”Y”.
startDateYesdateThis will hold the start
date of the condition.
errorMessagesYesArray of StringContains all the errors
because of which the
store condition
processing in
Merchandising failed.
Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
],
"businessError": [
{
"store": 10080,
"conditionType": "PO",
"startDate": "2001-12-31",
"errorMessages": [
"A condition with the same type and start date already exists"
]
}
]
}
Manage Store Services

Functional Area

Organizational Hierarchy - Stores

Business Overview

This service allows user to specify /add which services are provided to customers at a given store location, such as Gift Wrapping, Embroidery, Engraving, or Curbside Pickup. The list of possible store services are defined under the Store Services (STSV) code type. The services under this code type which have the used indicator set to Yes (‘Y’) will be applicable for set up.

The only modification that can be performed via this service is to indicate that the store service is no longer available at the provided store. This can be done by passing in a store and a store service which is currently available at the store, and the delete flag set to Yes (Y) indicating that the service should be removed.

In case of error, the standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Service Type

POST

ReST URL

MerchIntegrations/services/organizationalHierarchy/store/services/manage

Input Payload Details

Table 5-1180 Manage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Total number of store
service records
included in the request
payload.
itemsYesCollection of ObjectChild node holding the
collection of store
service records to be
processed.

Table 5-1181 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionYesString (10)Specifes the action to
be performed on the
store service record
(CREATE, UPDATE,
DELETE).
storeYesNumber (10)This column contains
the number which
uniquely identifes the
store.
storeServiceYesString (6)Code representing the
type of service being
assigned, modifed, or
removed for the store.

Table 5-1182 ManageError - Object. See list of elements for detail

Element Name
Required
Data TypeDescription
store
No
Number (10)Store number for
which the service
request failed
validation or
processing.
storeService
No
String (6)Service type associated
with the failed store
service transaction.
errorMessages
No
Array of StringChild node holding one
or more validation or
processing error
messages for the store
service request.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"action": "CREATE",
"store": 1810,
"storeService": "EN"
}
]
}

Response Code: 200 (Success)

Table 5-1183 ManageResponse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeServicesNoCollection of ObjectChild node holding
successfully processed
store service records
returned in the
response.

Table 5-1184 StoreServices - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeNoNumber (10)Store number for
which the service
request has been
successfully processed.
storeServiceNoString (6)Type of the service that
the store offers. Valid
values are available
under code type
”STSV”.
Sample Response Message
{
"storeServices": [
{
"store": 1810,
"storeService": "EN"
}
]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Table 5-1185 ManageError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeNoNumber (10)Store number for
which the service
request failed
validation or
processing.
storeServiceNoString (6)Service type associated
with the failed store
service transaction.

Table 5-1185 (Cont.) ManageError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
errorMessagesNoArray of StringChild node holding one
or more validation or
processing error
messages for the store
service request.
Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
],
"businessError": [
{
"store": 1810,
"storeService": "EN",
"errorMessages": [
"Invalid service type for store 1810"
]
}
]
}
Manage Store Translations

Functional Area

Organizational Hierarchy - Stores

Business Overview

This service allows for the creation, update, and deletion of translations of a store’s name and secondary name.

In case of error, the standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Service Type

POST

ReST URL

MerchIntegrations/services/organizationalHierarchy/store/translations/manage
Input Payload Details

Manage - Object. See list of elements for detail

Items - Object. See list of elements for detail

ManageError - Object. See list of elements for detail

Response Code: 200 (Success)

ManageResponse - Object. See list of elements for detail

Responses - Object. See list of elements for detail

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

ManageError - Object. See list of elements for detail

Stores by Hierarchy Level Upload Service

The following services are included in this functional area:

  • Create Store Location Trait by Hierarchy Level

  • Delete Store Location Trait by Hierarchy Level

Create Store Location Trait by Hierarchy Level

Functional Area

Organizational Hierarchy - Stores

Business Overview

If Merchandising is not the system of record for organizational hierarchy information for an implementation, then this service can be used to assign an existing location trait to stores of a given organization hierarchy level in Merchandising based on the request from an external system.

Service Type

POST

ReST URL
MerchIntegrations/services/organizationalHierarchy/store/
locationTraitByHierarchy/create

Input Payload Details

Table 5-1186 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hierarchyValueYesNumber (10)The ID of the specifed hierarchy
level. This value must be unique
among other values of the same
hierarchy level.
hierarchyDescriptionNoString (120)The description of the hierarchy
value.

Table 5-1186 (Cont.) Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hierarchyLevelYesString (2)The hierarchy level of the hierarchy
value. This feld will indicate the level
of the organizational hierarchy to
which the cost change applies. Valid
values are CH (chain), AR (area), RE
(region), DI (district).
parentHierarchyIdNoNumber (10)The ID of the hierarchy value’s parent
hierarchy value. This value must be
predefned on either the CHAIN,
AREA or REGION table.
traitsYesCollection of
Object
References a collection of traits.

Table 5-1187 Traits - Object. See list of elements for detail

Element NameRequiredData TypeDescription
traitIdYesNumber (4)The location trait associated to the
hierarchy value. This value must be
predefned on LOC_TRAITS table. A
location trait cannot be associated
with (or deleted from) a chain.
Sample Input Message
{
  "hierarchyValue": 2,
  "hierarchyDescription": null,
  "hierarchyLevel": "AR",
  "parentHierarchyId": 117516,
  "traits": [
    {
      "traitId": 1
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Delete Store Location Trait by Hierarchy Level
Functional Area
Organizational Hierarchy - Stores
Business Overview

If Merchandising is not the system of record for organizational hierarchy information for an implementation, then this service can be used to delete a location trait from stores of a given organization hierarchy level in Merchandising based on the request from an external system.

Service Type
DELETE
ReST URL
MerchIntegrations/services/organizationalHierarchy/store/
locationTraitByHierarchy/delete
Input Payload Details

Table 5-1188 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hierarchyValueYesNumber (10)The ID of the specifed hierarchy
level. This value must be unique
among other values of the same
hierarchy level.
hierarchyLevelYesString (2)The hierarchy level of the hierarchy
value. This feld will indicate the level
of the organizational hierarchy to
which the cost change applies. Valid
values are CH (chain), AR (area), RE
(region), DI (district).
traitsNoCollection of
Object
References a collection of traits.

Table 5-1189 Traits - Object. See list of elements for detail

Element NameRequiredData TypeDescription
traitIdYesNumber (4)The location trait associated to the
hierarchy value. This value must be
predefned on LOC_TRAITS table. A
location trait cannot be associated
with (or deleted from) a chain.
Sample Input Message
{
  "hierarchyValue": 571,
  "hierarchyLevel": "DI",
  "traits": [
    {
      "traitId": 1
    }
  ]
}

Response Code: 200 (Success)

Sample Response Message
{
  "status": "SUCCESS"
}

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Warehouse

The following services are included in this functional area:

  • Warehouse Download Service

    • Get Basic Warehouse Details

    • Get Warehouse Details

    • Get Warehouse Details for Provided Warehouse

Warehouse Download Service

The following services are included in this functional area:

  • Get Basic Warehouse Details

  • Get Warehouse Details

  • Get Warehouse Details for Provided Warehouse

Get Basic Warehouse Details

This section describes the Warehouse Detail service.

Business Overview

Warehouse Detail service allows user to retrieve Warehouse information for a selected warehouse or for all warehouses.

Service Type

Get

ReST URL

Wh/whDetail?warehouse={whNumber}

Input Parameters

Parameter NameRequiredDescription
WarehouseNoWarehouse Number. If none is specified, all
warehouses will be retrieved.

Output

RestWhRecRDO
Parameter NameData Type
warehouseBigDecimal
warehouseNameString
warehouseSecondaryNameString
vatRegionBigDecimal
organizationHierarchyTypeBigDecimal
organizationHierarchyValueBigDecimal
currencyCodeString
physicalWarehouseBigDecimal
primaryVirtualWarehouseBigDecimal
channelIdBigDecimal
stockholdingIndicatorString

Parameter Name Data Type breakPackIndicator String redistributeWarehouseIndicator String restrictedIndicator String protectedIndicator String transferEntityId BigDecimal finisherInd String inboundHandlingDays BigDecimal organizationalUnitId BigDecimal virtualWarehouseType String customerOrderLocationIndicator String address1 String address2 String address3 String city String state String countryId String post String contactName String contactPhone String contactEmail String

JSON Structure
  {
     "warehouse": null,
     "warehouseName": null,
     "warehouseSecondaryName": null,
     "vatRegion": "null,
     "organizationHierarchyType": null,
     "organizationHierarchyValue": null,
     "currencyCode": null,
     "physicalWarehouse": null,
     "primaryVirtualWarehouse": null,
     "channelId": null,
     "stockholdingIndicator": null,
     "breakPackIndicator": null,
     "redistributeWarehouseIndicator": null,
     "restrictedIndicator": null,
     "protectedIndicator": null,
     "transferEntityId": null,
     "finisherIndicator": null,
     "inboundHandlingDays": null,
     "organizationalUnitId" :null,
     "virtualWarehouseType" :null,
     "customerOrderLocationIdicator" :null,
     "address1": null,
     "address2": null,
     "address3": null,
     "city": null,
     "state": null,
     "countryId": null,
     "post": null,
     "contactName": null,
     "contactPhone": null,
     "contactEmail": null,
     "links": [],
     "hyperMediaContent": {
      "linkRDO": []
     }
  }

Table Impact

TABLESELECTINSERTUPDATEDELETE
V_WHYesNoNoNo
ADDRYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo
Get Warehouse Details

Endpoints

MerchIntegrations/services/foundation/warehouse
MerchIntegrations/services/foundation/warehouse/{whId}

Functional Area

Organizational Hierarchy - Warehouses

Business Overview

This service publishes warehouse master data to downstream consuming systems. It publishes only regular warehouse entities, including finisher warehouses, and excludes importer and exporter legal-entity warehouses. The payload includes warehouse setup details together with primary-address information, all published warehouse addresses, virtualwarehouse channel information, and warehouse and address custom flex attributes.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: WH, ADDR

Additional business tables: ADD_TYPE_MODULE, V_ADD_TYPE_TL, STATE, COUNTRY, CHANNELS, WH_CFA_EXT, ADDR_CFA_EXT

JSON cache table: MERCHAPI_EXT_WH

JSON generation view: V_MERCHAPI_EXT_WH_JSON

Builds the warehouse header from WH, derives the primary address from ADDR joined to ADD_TYPE_MODULE and V_ADD_TYPE_TL, enriches address geography from STATE and COUNTRY, and resolves virtual-warehouse channel text from CHANNELS.

Warehouse- and address-level custom flex attributes are added from MERCHAPI_EXT_WH_CFA and MERCHAPI_EXT_WH_ADDR_CFA.

Functionally, the JSON view filters to WH.ORG_ENTITY_TYPE = ‘R’, so only regular warehouses, including finishers, are published; importer and exporter legal-entity warehouses are excluded from this API.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_EXT_WH_JSON and apply WH.ORG_ENTITY_TYPE = ‘R’.

Mark cache rows deleted when the warehouse no longer exists in V_MERCHAPI_EXT_WH_JSON.

ICL (Integration Change Log) table: ICL_RMS_WH and ICL_RMS_ADDR (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on WH, and address changes are captured through ICL_RMS_ADDR for ADDR rows where MODULE = ‘WH’.

ICL_RMS_ADDR rows are filtered to MODULE = ‘WH’ and republish the parent warehouse payload.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_WH

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_WAREHOUSE_ADHOC_PROCESS MERCHAPI_EXT_WAREHOUSE_ADHOC_JOB

Webhook configuration api name: foundation/warehouse

Service Type

GET

ReST URL

MerchIntegrations/services/foundation/warehouse

MerchIntegrations/services/foundation/warehouse/{whId}

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
Parameter NameRequiredData TypeDescription
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoStringOffset key
(Warehouse)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-1190 Input Parameter for “MerchIntegrations/services/foundation/warehouse/ {whId}“

Parameter NameRequiredData TypeDescription
whIdYesNumberWarehouse Id
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-1191 PageResultsItemsMerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request

Table 5-1191 (Cont.) PageResultsItemsMerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1192 MerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for warehouse
details.
warehouseNoNumber(10,0)This feld contains the
unique number that
identifes the
warehouse.
warehouseNameNoString (150)This feld contains the
warehouse name. This
is published for both
physical and virtual
warehouses.
whNameSecondaryNoString (150)This feld contains the
secondary name of the
warehouse.
emailNoString (100)This feld holds the
email address for the
location. This is
published only for the
physical warehouse.
stockholdingIndNoString (1)This feld indicates
whether the
warehouse is a
stockholding location.
In a multichannel
environment, it will be
N for a physical
warehouse and Y for a
virtual warehouse.
channelIdNoNumber(4,0)This feld contains the
channel for which the
virtual warehouse has
been assigned. This is
published for the
virtual warehouse.

Table 5-1192 (Cont.) MerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
channelDescriptionNoString (120)This feld contains the
description of the
channel for which the
virtual warehouse has
been assigned.
currencyCodeNoString (3)This feld contains the
code for the currency
that the warehouse
uses. This is published
for physical and
virtual warehouses.
physicalWarehouseNoNumber(10,0)This feld contains the
number of the
physical warehouse
corresponding to this
virtual warehouse. For
physical warehouses,
this feld will be null.
primaryVirtualWareh
ouse
NoNumber(10,0)This feld holds the
virtual warehouse that
will be used as the
basis for all
transactions for which
only a physical
warehouse, and not a
virtual warehouse, has
been specifed.
dunsNoNoString (9)This feld holds the
Dun and Bradstreet
number to identify the
physical warehouse.
This is published for
the physical
warehouse.
dunsLocationNoString (4)This feld holds the
Dun and Bradstreet
location number to
identify the physical
warehouse. This is
published for the
physical warehouse.
breakPackIndNoString (1)This feld indicates
whether the
warehouse can
distribute less than the
supplier case quantity.
Valid values are Y or
N. This is published for
both physical and
virtual warehouses.

Table 5-1192 (Cont.) MerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
redistributionWareho
useInd
NoString (1)This feld indicates
whether the
warehouse is a
redistribution
warehouse, which is
used to fag purchase
orders for review
closer to the time of
receipt. If this is set to
yes (Y) for a physical
warehouse, then it
indicates that this is a
dummy location for a
purchase order and
that the order will
have its quantities
redistributed to actual
receiving locations
closer to expected
receipt. Valid values
are yes (Y) and no (N).
This is published for
both physical and
virtual warehouses.
deliveryPolicyNoString (6)This feld contains the
delivery policy of the
warehouse. Next Day
(NEXT) indicates that if
a location is closed, the
warehouse will deliver
on the next day. Next
Valid Delivery Day
(NDD) indicates that
the warehouse will
wait until the next
scheduled delivery
day. This is published
for both physical and
virtual warehouses.
pricingLocationNoNumber(10,0)This feld contains the
location from which
pricing information
was copied for this
virtual warehouse.
This is published for
the virtual warehouse.
pricingLocationCurren
cy
NoString (3)This feld contains the
currency code of the
pricing location. This
is published for the
virtual warehouse.

Table 5-1192 (Cont.) MerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orgUnitIdNoNumber(15,0)This feld holds the org
unit ID of the virtual
warehouse. This is
published for the
virtual warehouse.
vatRegionNoNumber(4,0)This feld holds the
VAT region where the
warehouse belongs.
This is published for
both physical and
virtual warehouses.
orgHierarchyTypeNoNumber(4,0)This feld contains the
organization type that
will be used for
reporting purposes for
the warehouse. The
type comes from the
organizational
hierarchy.
orgHierarchyValueNoNumber(10,0)This feld contains the
code associated with
the specifc
organizational
hierarchy type. Valid
values include the
company number,
chain number, area
number, and so on.
restrictedIndNoString (1)This feld indicates
whether the inventory
for this virtual
warehouse is
restricted, meaning it
is impacted last in an
inbound type of
transaction occurring
at the physical
warehouse level.
protectedIndNoString (1)This feld indicates
whether the inventory
for this virtual
warehouse is
protected, meaning it
is affected last in
outbound transactions
occurring at the
physical warehouse
level.
forecastWarehouseIndNoString (1)This feld determines if
a virtual warehouse
should be forecasted.

Table 5-1192 (Cont.) MerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
transferEntityIdNoNumber(10,0)This feld indicates the
transfer entity with
which this virtual
warehouse is
associated.
fnisherIndNoString (1)This feld indicates
whether a virtual
warehouse is an
internal fnisher.
inboundHandlingDaysNoNumber(2,0)This feld indicates the
number of days that
the warehouse
requires to receive any
item and get it to the
shelf so that it is ready
to pick.
virtualWarehouseTypeNoString (6)This feld contains the
virtual warehouse
type. Valid values are
CS_NT - Non-
traditional,CS_RG -
CSC,XD_GS - Global
Sourcing,XD_RG -
Cross Dock
orgEntityTypeNoString (1)This feld specifes if
the warehouse is a
legal entity (Importer,
Exporter) or a regular
warehouse.
customerOrderLocatio
nInd
NoString (1)This feld indicates if
the virtual warehouse
can source or fulfll
customer orders.
defaultWarehouseNoNumber(10,0)This feld contains the
default sourcing
warehouse linked to
the virtual warehouse.
giftWrappingIndNoString (1)This feld indicates
whether the
warehouse supports
gift wrapping.
customerOrderShippin
gInd
NoString (1)This feld indicates
whether the virtual
warehouse supports
shipping customer
orders.
investmentBuyIndNoString (1)This feld indicates
whether investment
buy is confgured for
this warehouse.

Table 5-1192 (Cont.) MerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
investmentBuyWareho
useLink
NoNumber(10,0)This feld contains the
warehouse linked to
the investment buy.
replenishableIndNoString (1)This feld determines if
a warehouse is
replenishable.
replenishmentSourceO
rder
NoNumber(1,0)This feld contains the
order from which the
inventory is sourced
for the linked
warehouses.
replenishableWarehou
seLink
NoNumber(10,0)This feld holds the
replenishable
warehouse that is
linked to this virtual
warehouse. This link
implies that the virtual
warehouse is included
in the net inventory
calculations for the
replenishable
warehouse.
taxIdNoString (20)This feld contains the
unique tax
identifcation number
of the physical
warehouse.
primaryAddressTypeNoString (2)This feld specifes the
type for the address.
Valid values are: 01 -
Business, 02 - Postal,
03 - Returns, 04 -
Order, 05 - Invoice, 06 -
Remittance.
primaryAddressTypeD
escription
NoString (40)This feld specifes the
address type
description.
primaryAddressAdd1NoString (240)This feld contains the
frst line of the
address.
primaryAddressAdd2NoString (240)This feld contains the
second line of the
address.
primaryAddressAdd3NoString (240)This feld contains the
third line of the
address.
primaryAddressCityNoString (120)This feld contains the
name of the city that is
associated with the
address.

Table 5-1192 (Cont.) MerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
primaryAddressStateNoString (3)This feld contains the
state abbreviation for
the address.
primaryAddressStateN
ame
NoString (120)This feld contains the
state description for
the address.
primaryAddressCount
ryId
NoString (3)This feld contains the
country where the
address exists.
primaryAddressCount
ryName
NoString (120)This feld contains the
country description
where the address
exists.
primaryAddressPostNoString (30)This feld contains the
zip code for the
address.
primaryAddressContac
tName
NoString (120)This feld contains the
name of the contact
person at this address.
primaryAddressContac
tPhone
NoString (20)This feld contains the
phone number of the
contact person at this
address.
primaryAddressContac
tTelex
NoString (20)This feld contains the
telex number of the
contact person at this
address.
primaryAddressContac
tFax
NoString (20)This feld contains the
fax number of the
contact person at this
address.
primaryAddressContac
tEmail
NoString (100)This feld contains the
email address of the
warehouse location
contact person.
primaryAddressPhone
2
NoString (20)This feld contains an
additional phone
number associated
with the primary
address.

Table 5-1192 (Cont.) MerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
primaryAddressPhone
2Type
NoString (6)This feld contains the
type of the phone
number stored in the
primaryAddressPhone
2 feld. Valid values
are AS - Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work, and can also be
found on the codes
table with a code type
of PHTP.
primaryAddressPhone
3
NoString (20)This feld contains a
second additional
phone number
associated with the
primary address.
primaryAddressPhone
3Type
NoString (6)This feld contains the
type of the phone
number stored in the
primaryAddressPhone
3 feld. Valid values
are AS - Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work, and can also be
found on the codes
table with a code type
of PHTP.
primaryAddressLatitu
de
NoString (30)This feld contains the
north-south
geographic coordinate
of the primary
address, represented
in decimal degrees.
primaryAddressLongit
ude
NoString (30)This feld contains the
east-west geographic
coordinate of the
primary address,
represented in
decimal degrees.
primaryAddressCount
y
NoString (250)This feld contains the
county where the
address exists.
primaryAddrJurisdicti
onCode
NoString (10)This feld contains the
ID associated with the
tax jurisdiction of the
country-state
relationship.

Table 5-1192 (Cont.) MerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis feld holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated (UTC).
customFlexAttributeNoCollection of ObjectThis List holds custom
fex attributes for the
warehouse.
addressNoCollection of ObjectThis List holds all the
warehouse addresses.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the warehouse record
was fetched into the
cache for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1193 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-1194 Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
addressKeyNoNumber(11,0)This feld contains the
unique address key.
addressTypeNoString (2)This feld specifes the
type for the address.
Valid values are: 01 -
Business, 02 - Postal,
03 - Returns, 04 -
Order, 05 - Invoice, 06 -
Remittance.
addressTypeDescriptio
n
NoString (40)This feld specifes the
address type
description.
primaryAddressIndNoString (1)This feld indicates
whether the address is
the primary address
for the address type.
add1NoString (240)This feld contains the
frst line of the
address.
add2NoString (240)This feld contains the
second line of the
address.
add3NoString (240)This feld contains the
third line of the
address.
cityNoString (120)This feld contains the
name of the city that is
associated with the
address.
stateNoString (3)This feld contains the
state abbreviation that
is associated with the
address.
stateNameNoString (120)This feld contains the
state description that
is associated with the
address.
countryIdNoString (3)This feld contains the
country where the
address exists.
countryNameNoString (120)This feld contains the
country description
that is associated with
the address.
postNoString (30)This feld contains the
zip code for the
address.
contactNameNoString (120)This feld contains the
name of the contact
person at this address.

Table 5-1194 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
contactPhoneNoString (20)This feld contains the
phone number of the
contact person at this
address.
contactTelexNoString (20)This feld contains the
telex number of the
contact person at this
address.
contactFaxNoString (20)This feld contains the
fax number of the
contact person at this
address.
contactEmailNoString (100)This feld contains the
email address of the
contact person at this
address.
phone2TypeNoString (6)This feld contains the
type of the phone
number stored in the
phone2 feld. Valid
values are AS -
Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work, and can also be
found on the codes
table with a code type
of PHTP.
phone2NoString (20)This feld contains an
additional phone
number associated
with the address.
phone3TypeNoString (6)This feld contains the
type of the phone
number stored in the
phone3 feld. Valid
values are AS -
Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work, and can also be
found on the codes
table with a code type
of PHTP.
phone3NoString (20)This feld contains a
second additional
phone number
associated with the
address.

Table 5-1194 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
latitudeNoString (30)This feld contains the
north-south
geographic coordinate
of the address,
represented in
decimal degrees.
longitudeNoString (30)This feld contains the
east-west geographic
coordinate of the
address, represented
in decimal degrees.
countyNoString (250)This feld contains the
county where the
address exists.
jurisdictionCodeNoString (10)This feld contains the
ID associated with the
tax jurisdiction of the
country-state
relationship.
createDateTimeNodateTimeThis feld holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated (UTC).
customFlexAttributeNoCollection of ObjectThis List holds custom
fex attributes for the
warehouse’s address.

Table 5-1195 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"warehouse": 6000,
"warehouseName": null,
"whNameSecondary": null,
"email": null,
"stockholdingInd": "Y",
"channelId": 1,
"channelDescription": null,
"currencyCode": "USD",
"physicalWarehouse": 6000,
"primaryVirtualWarehouse": 1,
"dunsNo": null,
"dunsLocation": "1055",
"breakPackInd": null,
"redistributionWarehouseInd": null,
"deliveryPolicy": "NEXT",
"pricingLocation": 1,
"pricingLocationCurrency": null,
"orgUnitId": 1111111111,
"vatRegion": 1000,
"orgHierarchyType": 1,
"orgHierarchyValue": 1,
"restrictedInd": null,
"protectedInd": null,
"forecastWarehouseInd": null,
"transferEntityId": 1,
"finisherInd": null,
"inboundHandlingDays": 1,
"virtualWarehouseType": null,
"orgEntityType": null,
"customerOrderLocationInd": "Y",
"defaultWarehouse": 5,
"giftWrappingInd": "Y",
"customerOrderShippingInd": "Y",
"investmentBuyInd": null,
"investmentBuyWarehouseLink": 1,
"replenishableInd": null,
"replenishmentSourceOrder": 1,
"replenishableWarehouseLink": 1,
"taxId": null,
"primaryAddressType": "01",
"primaryAddressTypeDescription": null,
"primaryAddressAdd1": "101 First Street",
"primaryAddressAdd2": "201 Second Street",
"primaryAddressAdd3": null,
"primaryAddressCity": "Minneapolis",
"primaryAddressState": "MN",
"primaryAddressStateName": "MN",
"primaryAddressCountryId": "US",
"primaryAddressCountryName": "US",
"primaryAddressPost": "55555-1234",
"primaryAddressContactName": "Laura Johnson",
"primaryAddressContactPhone": "1800800800",
"primaryAddressContactTelex": null,
"primaryAddressContactFax": "617-897-0902",
"primaryAddressContactEmail": "someone@email.com",
"primaryAddressPhone2": "5551234567",
"primaryAddressPhone2Type": "WO",
"primaryAddressPhone3": "5551234567",
"primaryAddressPhone3Type": "WO",
"primaryAddressLatitude": "44.38129",
"primaryAddressLongitude": "-92.03521",
"primaryAddressCounty": null,
"primaryAddrJurisdictionCode": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"address": [
{
"addressKey": 114772,
"addressType": "01",
"addressTypeDescription": null,
"primaryAddressInd": "Y",
"add1": "101 First Street",
"add2": "201 Second Street",
"add3": null,
"city": "Minneapolis",
"state": "MN",
"stateName": "MN",
"countryId": "US",
"countryName": "US",
"post": "55555-1234",
"contactName": "Laura Johnson",
"contactPhone": "1800800800",
"contactTelex": null,
"contactFax": "617-897-0902",
"contactEmail": "someone@email.com",
"phone2Type": "WO",
"phone2": "5551234567",
"phone3Type": "WO",
"phone3": "5551234567",
"latitude": "44.38129",
"longitude": "-92.03521",
"county": null,
"jurisdictionCode": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
],
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
WHYesNoNoNo
WH_CFA_EXTYesNoNoNo
MERCHAPI_EXT_WHYesYesYesYes
V_MERCHAPI_EXT_WH_JSONYesNoNoNo
ICL_RMS_WHYesNoYesYes
ICL_RMS_ADDRYesNoYesYes
Get Warehouse Details for Provided Warehouse
Endpoints
MerchIntegrations/services/foundation/warehouse
MerchIntegrations/services/foundation/warehouse/{whId}
Functional Area
Organizational Hierarchy - Warehouses
Business Overview

This service publishes warehouse master data to downstream consuming systems. It publishes only regular warehouse entities, including finisher warehouses, and excludes importer and exporter legal-entity warehouses. The payload includes warehouse setup details

together with primary-address information, all published warehouse addresses, virtualwarehouse channel information, and warehouse and address custom flex attributes.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: WH, ADDR

Additional business tables: ADD_TYPE_MODULE, V_ADD_TYPE_TL, STATE, COUNTRY, CHANNELS, WH_CFA_EXT, ADDR_CFA_EXT

JSON cache table: MERCHAPI_EXT_WH

JSON generation view: V_MERCHAPI_EXT_WH_JSON

Builds the warehouse header from WH, derives the primary address from ADDR joined to ADD_TYPE_MODULE and V_ADD_TYPE_TL, enriches address geography from STATE and COUNTRY, and resolves virtual-warehouse channel text from CHANNELS.

Warehouse- and address-level custom flex attributes are added from MERCHAPI_EXT_WH_CFA and MERCHAPI_EXT_WH_ADDR_CFA.

Functionally, the JSON view filters to WH.ORG_ENTITY_TYPE = ‘R’, so only regular warehouses, including finishers, are published; importer and exporter legal-entity warehouses are excluded from this API.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild use V_MERCHAPI_EXT_WH_JSON and apply WH.ORG_ENTITY_TYPE = ‘R’.

Mark cache rows deleted when the warehouse no longer exists in V_MERCHAPI_EXT_WH_JSON.

ICL (Integration Change Log) table: ICL_RMS_WH and ICL_RMS_ADDR (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on WH, and address changes are captured through ICL_RMS_ADDR for ADDR rows where MODULE = ‘WH’.

ICL_RMS_ADDR rows are filtered to MODULE = ‘WH’ and republish the parent warehouse payload.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_WH

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_WAREHOUSE_ADHOC_PROCESS MERCHAPI_EXT_WAREHOUSE_ADHOC_JOB

Webhook configuration api name: foundation/warehouse

Service Type
GET

ReST URL

MerchIntegrations/services/foundation/warehouse

MerchIntegrations/services/foundation/warehouse/{whId}

Input Parameters

Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
offsetkeyNoStringOffset key
(Warehouse)
limitNoString (6)Pagination limit.
Default value is 1000.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-1196 Input Parameter for “MerchIntegrations/services/foundation/warehouse/ {whId}“

Parameter NameRequiredData TypeDescription
whIdYesNumberWarehouse Id
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Output

Table 5-1197 PageResultsItemsMerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1198 MerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for warehouse
details.
warehouseNoNumber(10,0)This feld contains the
unique number that
identifes the
warehouse.
warehouseNameNoString (150)This feld contains the
warehouse name. This
is published for both
physical and virtual
warehouses.
whNameSecondaryNoString (150)This feld contains the
secondary name of the
warehouse.
emailNoString (100)This feld holds the
email address for the
location. This is
published only for the
physical warehouse.

Table 5-1198 (Cont.) MerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
stockholdingIndNoString (1)This feld indicates
whether the
warehouse is a
stockholding location.
In a multichannel
environment, it will be
N for a physical
warehouse and Y for a
virtual warehouse.
channelIdNoNumber(4,0)This feld contains the
channel for which the
virtual warehouse has
been assigned. This is
published for the
virtual warehouse.
channelDescriptionNoString (120)This feld contains the
description of the
channel for which the
virtual warehouse has
been assigned.
currencyCodeNoString (3)This feld contains the
code for the currency
that the warehouse
uses. This is published
for physical and
virtual warehouses.
physicalWarehouseNoNumber(10,0)This feld contains the
number of the
physical warehouse
corresponding to this
virtual warehouse. For
physical warehouses,
this feld will be null.
primaryVirtualWareh
ouse
NoNumber(10,0)This feld holds the
virtual warehouse that
will be used as the
basis for all
transactions for which
only a physical
warehouse, and not a
virtual warehouse, has
been specifed.
dunsNoNoString (9)This feld holds the
Dun and Bradstreet
number to identify the
physical warehouse.
This is published for
the physical
warehouse.

Table 5-1198 (Cont.) MerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
dunsLocationNoString (4)This feld holds the
Dun and Bradstreet
location number to
identify the physical
warehouse. This is
published for the
physical warehouse.
breakPackIndNoString (1)This feld indicates
whether the
warehouse can
distribute less than the
supplier case quantity.
Valid values are Y or
N. This is published for
both physical and
virtual warehouses.
redistributionWareho
useInd
NoString (1)This feld indicates
whether the
warehouse is a
redistribution
warehouse, which is
used to fag purchase
orders for review
closer to the time of
receipt. If this is set to
yes (Y) for a physical
warehouse, then it
indicates that this is a
dummy location for a
purchase order and
that the order will
have its quantities
redistributed to actual
receiving locations
closer to expected
receipt. Valid values
are yes (Y) and no (N).
This is published for
both physical and
virtual warehouses.
deliveryPolicyNoString (6)This feld contains the
delivery policy of the
warehouse. Next Day
(NEXT) indicates that if
a location is closed, the
warehouse will deliver
on the next day. Next
Valid Delivery Day
(NDD) indicates that
the warehouse will
wait until the next
scheduled delivery
day. This is published
for both physical and
virtual warehouses.

Table 5-1198 (Cont.) MerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
pricingLocationNoNumber(10,0)This feld contains the
location from which
pricing information
was copied for this
virtual warehouse.
This is published for
the virtual warehouse.
pricingLocationCurren
cy
NoString (3)This feld contains the
currency code of the
pricing location. This
is published for the
virtual warehouse.
orgUnitIdNoNumber(15,0)This feld holds the org
unit ID of the virtual
warehouse. This is
published for the
virtual warehouse.
vatRegionNoNumber(4,0)This feld holds the
VAT region where the
warehouse belongs.
This is published for
both physical and
virtual warehouses.
orgHierarchyTypeNoNumber(4,0)This feld contains the
organization type that
will be used for
reporting purposes for
the warehouse. The
type comes from the
organizational
hierarchy.
orgHierarchyValueNoNumber(10,0)This feld contains the
code associated with
the specifc
organizational
hierarchy type. Valid
values include the
company number,
chain number, area
number, and so on.
restrictedIndNoString (1)This feld indicates
whether the inventory
for this virtual
warehouse is
restricted, meaning it
is impacted last in an
inbound type of
transaction occurring
at the physical
warehouse level.

Table 5-1198 (Cont.) MerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
protectedIndNoString (1)This feld indicates
whether the inventory
for this virtual
warehouse is
protected, meaning it
is affected last in
outbound transactions
occurring at the
physical warehouse
level.
forecastWarehouseIndNoString (1)This feld determines if
a virtual warehouse
should be forecasted.
transferEntityIdNoNumber(10,0)This feld indicates the
transfer entity with
which this virtual
warehouse is
associated.
fnisherIndNoString (1)This feld indicates
whether a virtual
warehouse is an
internal fnisher.
inboundHandlingDaysNoNumber(2,0)This feld indicates the
number of days that
the warehouse
requires to receive any
item and get it to the
shelf so that it is ready
to pick.
virtualWarehouseTypeNoString (6)This feld contains the
virtual warehouse
type. Valid values are
CS_NT - Non-
traditional,CS_RG -
CSC,XD_GS - Global
Sourcing,XD_RG -
Cross Dock
orgEntityTypeNoString (1)This feld specifes if
the warehouse is a
legal entity (Importer,
Exporter) or a regular
warehouse.
customerOrderLocatio
nInd
NoString (1)This feld indicates if
the virtual warehouse
can source or fulfll
customer orders.
defaultWarehouseNoNumber(10,0)This feld contains the
default sourcing
warehouse linked to
the virtual warehouse.

Table 5-1198 (Cont.) MerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
giftWrappingIndNoString (1)This feld indicates
whether the
warehouse supports
gift wrapping.
customerOrderShippin
gInd
NoString (1)This feld indicates
whether the virtual
warehouse supports
shipping customer
orders.
investmentBuyIndNoString (1)This feld indicates
whether investment
buy is confgured for
this warehouse.
investmentBuyWareho
useLink
NoNumber(10,0)This feld contains the
warehouse linked to
the investment buy.
replenishableIndNoString (1)This feld determines if
a warehouse is
replenishable.
replenishmentSourceO
rder
NoNumber(1,0)This feld contains the
order from which the
inventory is sourced
for the linked
warehouses.
replenishableWarehou
seLink
NoNumber(10,0)This feld holds the
replenishable
warehouse that is
linked to this virtual
warehouse. This link
implies that the virtual
warehouse is included
in the net inventory
calculations for the
replenishable
warehouse.
taxIdNoString (20)This feld contains the
unique tax
identifcation number
of the physical
warehouse.
primaryAddressTypeNoString (2)This feld specifes the
type for the address.
Valid values are: 01 -
Business, 02 - Postal,
03 - Returns, 04 -
Order, 05 - Invoice, 06 -
Remittance.
primaryAddressTypeD
escription
NoString (40)This feld specifes the
address type
description.

Table 5-1198 (Cont.) MerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
primaryAddressAdd1NoString (240)This feld contains the
frst line of the
address.
primaryAddressAdd2NoString (240)This feld contains the
second line of the
address.
primaryAddressAdd3NoString (240)This feld contains the
third line of the
address.
primaryAddressCityNoString (120)This feld contains the
name of the city that is
associated with the
address.
primaryAddressStateNoString (3)This feld contains the
state abbreviation for
the address.
primaryAddressStateN
ame
NoString (120)This feld contains the
state description for
the address.
primaryAddressCount
ryId
NoString (3)This feld contains the
country where the
address exists.
primaryAddressCount
ryName
NoString (120)This feld contains the
country description
where the address
exists.
primaryAddressPostNoString (30)This feld contains the
zip code for the
address.
primaryAddressContac
tName
NoString (120)This feld contains the
name of the contact
person at this address.
primaryAddressContac
tPhone
NoString (20)This feld contains the
phone number of the
contact person at this
address.
primaryAddressContac
tTelex
NoString (20)This feld contains the
telex number of the
contact person at this
address.
primaryAddressContac
tFax
NoString (20)This feld contains the
fax number of the
contact person at this
address.
primaryAddressContac
tEmail
NoString (100)This feld contains the
email address of the
warehouse location
contact person.

Table 5-1198 (Cont.) MerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
primaryAddressPhone
2
NoString (20)This feld contains an
additional phone
number associated
with the primary
address.
primaryAddressPhone
2Type
NoString (6)This feld contains the
type of the phone
number stored in the
primaryAddressPhone
2 feld. Valid values
are AS - Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work, and can also be
found on the codes
table with a code type
of PHTP.
primaryAddressPhone
3
NoString (20)This feld contains a
second additional
phone number
associated with the
primary address.
primaryAddressPhone
3Type
NoString (6)This feld contains the
type of the phone
number stored in the
primaryAddressPhone
3 feld. Valid values
are AS - Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work, and can also be
found on the codes
table with a code type
of PHTP.
primaryAddressLatitu
de
NoString (30)This feld contains the
north-south
geographic coordinate
of the primary
address, represented
in decimal degrees.
primaryAddressLongit
ude
NoString (30)This feld contains the
east-west geographic
coordinate of the
primary address,
represented in
decimal degrees.
primaryAddressCount
y
NoString (250)This feld contains the
county where the
address exists.

Table 5-1198 (Cont.) MerchApiWarehouse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
primaryAddrJurisdicti
onCode
NoString (10)This feld contains the
ID associated with the
tax jurisdiction of the
country-state
relationship.
createDateTimeNodateTimeThis feld holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated (UTC).
customFlexAttributeNoCollection of ObjectThis List holds custom
fex attributes for the
warehouse.
addressNoCollection of ObjectThis List holds all the
warehouse addresses.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the warehouse record
was fetched into the
cache for web service
publication (UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1199 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).

Table 5-1199 (Cont.) CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-1200 Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
addressKeyNoNumber(11,0)This feld contains the
unique address key.
addressTypeNoString (2)This feld specifes the
type for the address.
Valid values are: 01 -
Business, 02 - Postal,
03 - Returns, 04 -
Order, 05 - Invoice, 06 -
Remittance.
addressTypeDescriptio
n
NoString (40)This feld specifes the
address type
description.
primaryAddressIndNoString (1)This feld indicates
whether the address is
the primary address
for the address type.
add1NoString (240)This feld contains the
frst line of the
address.
add2NoString (240)This feld contains the
second line of the
address.
add3NoString (240)This feld contains the
third line of the
address.
cityNoString (120)This feld contains the
name of the city that is
associated with the
address.
stateNoString (3)This feld contains the
state abbreviation that
is associated with the
address.
stateNameNoString (120)This feld contains the
state description that
is associated with the
address.
countryIdNoString (3)This feld contains the
country where the
address exists.

Table 5-1200 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
countryNameNoString (120)This feld contains the
country description
that is associated with
the address.
postNoString (30)This feld contains the
zip code for the
address.
contactNameNoString (120)This feld contains the
name of the contact
person at this address.
contactPhoneNoString (20)This feld contains the
phone number of the
contact person at this
address.
contactTelexNoString (20)This feld contains the
telex number of the
contact person at this
address.
contactFaxNoString (20)This feld contains the
fax number of the
contact person at this
address.
contactEmailNoString (100)This feld contains the
email address of the
contact person at this
address.
phone2TypeNoString (6)This feld contains the
type of the phone
number stored in the
phone2 feld. Valid
values are AS -
Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work, and can also be
found on the codes
table with a code type
of PHTP.
phone2NoString (20)This feld contains an
additional phone
number associated
with the address.

Table 5-1200 (Cont.) Address - Object. See list of elements for detail

Element NameRequiredData TypeDescription
phone3TypeNoString (6)This feld contains the
type of the phone
number stored in the
phone3 feld. Valid
values are AS -
Assistant, CM -
Company Main, HF -
Home Fax, HO - Home,
MA - Main, PA - Pager,
WF - Work Fax, WO -
Work, and can also be
found on the codes
table with a code type
of PHTP.
phone3NoString (20)This feld contains a
second additional
phone number
associated with the
address.
latitudeNoString (30)This feld contains the
north-south
geographic coordinate
of the address,
represented in
decimal degrees.
longitudeNoString (30)This feld contains the
east-west geographic
coordinate of the
address, represented
in decimal degrees.
countyNoString (250)This feld contains the
county where the
address exists.
jurisdictionCodeNoString (10)This feld contains the
ID associated with the
tax jurisdiction of the
country-state
relationship.
createDateTimeNodateTimeThis feld holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the record was last
updated (UTC).
customFlexAttributeNoCollection of ObjectThis List holds custom
fex attributes for the
warehouse’s address.

Table 5-1201 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"warehouse": 6000,
"warehouseName": null,
"whNameSecondary": null,
"email": null,
"stockholdingInd": "Y",
"channelId": 1,
"channelDescription": null,
"currencyCode": "USD",
"physicalWarehouse": 6000,
"primaryVirtualWarehouse": 1,
"dunsNo": null,
"dunsLocation": "1055",
"breakPackInd": null,
"redistributionWarehouseInd": null,
"deliveryPolicy": "NEXT",
"pricingLocation": 1,
"pricingLocationCurrency": null,
"orgUnitId": 1111111111,
"vatRegion": 1000,
"orgHierarchyType": 1,
"orgHierarchyValue": 1,
"restrictedInd": null,
"protectedInd": null,
"forecastWarehouseInd": null,
"transferEntityId": 1,
"finisherInd": null,
"inboundHandlingDays": 1,
"virtualWarehouseType": null,
"orgEntityType": null,
"customerOrderLocationInd": "Y",
"defaultWarehouse": 5,
"giftWrappingInd": "Y",
"customerOrderShippingInd": "Y",
"investmentBuyInd": null,
"investmentBuyWarehouseLink": 1,
"replenishableInd": null,
"replenishmentSourceOrder": 1,
"replenishableWarehouseLink": 1,
"taxId": null,
"primaryAddressType": "01",
"primaryAddressTypeDescription": null,
"primaryAddressAdd1": "101 First Street",
"primaryAddressAdd2": "201 Second Street",
"primaryAddressAdd3": null,
"primaryAddressCity": "Minneapolis",
"primaryAddressState": "MN",
"primaryAddressStateName": "MN",
"primaryAddressCountryId": "US",
"primaryAddressCountryName": "US",
"primaryAddressPost": "55555-1234",
"primaryAddressContactName": "Laura Johnson",
"primaryAddressContactPhone": "1800800800",
"primaryAddressContactTelex": null,
"primaryAddressContactFax": "617-897-0902",
"primaryAddressContactEmail": "someone@email.com",
"primaryAddressPhone2": "5551234567",
"primaryAddressPhone2Type": "WO",
"primaryAddressPhone3": "5551234567",
"primaryAddressPhone3Type": "WO",
"primaryAddressLatitude": "44.38129",
"primaryAddressLongitude": "-92.03521",
"primaryAddressCounty": null,
"primaryAddrJurisdictionCode": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"address": [
{
"addressKey": 114772,
"addressType": "01",
"addressTypeDescription": null,
"primaryAddressInd": "Y",
"add1": "101 First Street",
"add2": "201 Second Street",
"add3": null,
"city": "Minneapolis",
"state": "MN",
"stateName": "MN",
"countryId": "US",
"countryName": "US",
"post": "55555-1234",
"contactName": "Laura Johnson",
"contactPhone": "1800800800",
"contactTelex": null,
"contactFax": "617-897-0902",
"contactEmail": "someone@email.com",
"phone2Type": "WO",
"phone2": "5551234567",
"phone3Type": "WO",
"phone3": "5551234567",
"latitude": "44.38129",
"longitude": "-92.03521",
"county": null,
"jurisdictionCode": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
],
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
WHYesNoNoNo
WH_CFA_EXTYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
MERCHAPI_EXT_WHYesYesYesYes
V_MERCHAPI_EXT_WH_JSONYesNoNoNo
ICL_RMS_WHYesNoYesYes
ICL_RMS_ADDRYesNoYesYes

Purchase Orders

The following services are included in this functional area:

  • Mobile Workflow Purchase Order Download Service

    • Create Purchase Order - Get Items for Purchase Orders

    • Create Purchase Order - Get Locations for Purchase Order

    • Create Purchase Order - Get Next Purchase Order Numbers

    • Create Purchase Order - Get Purchase Order Supplier Terms

    • Create Purchase Order - Get Suppliers for Purchase Order

  • Create Purchase Order - Refresh Purchase Order Item Locations

  • Create Purchase Order - Refresh Purchase Order Items

  • Create Purchase Order - Refresh Purchase Order Suppliers

  • Get Purchase Order Detail - Simple

  • Manage Purchase Orders Get Open Purchase Orders

  • Manage Purchase Orders - Get Purchase Order Cancel Reasons

  • Manage Purchase Orders - Get Purchase Order Header

  • Manage Purchase Orders - Get Purchase Order Items for an Order

  • Manage Purchase Orders - Get Purchase Order Locations for an Order/Item

  -
  - Manage Purchase Orders Get Purchase Order Origins

  - Manage Purchase Orders - Get Purchase Order Statuses
  • Manage Purchase Orders - Get Users Who Have Created Purchase Orders

  • Mobile Workflow Purchase Order Upload Service

    • Create Purchase Order - Simple

    • Manage Purchase Orders Approve Purchase Orders

    • Manage Purchase Orders - Cancel Purchase Orders

    • Manage Purchase Orders Reject Purchase Orders

    • Manage Purchase Orders Update Purchase Order Dates

  • Purchase Order Download Service

    • Get Purchase Order Details

    • Get Purchase Order Details by Order Number

  • Purchase Order Upload Service

    • Create Pre-issued Order Numbers
  • Create Purchase Order Details

  • Create Purchase Order Expenses

  • Create Purchase Order HTS

  • Create Purchase Order HTS Assessments

  • Create Purchase Order Letters of Credit

  • Create Purchase Orders

  • Delete Purchase Order Details

  • Delete Purchase Order Expenses

  • Delete Purchase Order HTS

  • Delete Purchase Order HTS Assessments

  • Delete Purchase Order Letters of Credit

  • Delete Purchase Orders

  • Update Purchase Order Details

  • Update Purchase Order Expenses

  • Update Purchase Order HTS

  • Update Purchase Order HTS Assessments

  • Update Purchase Order Letters of Credit

  • Update Purchase Orders

Mobile Workflow Purchase Order Download Service

The following services are included in this functional area:

  • Create Purchase Order - Get Items for Purchase Orders

  • Create Purchase Order - Get Locations for Purchase Order

  • Create Purchase Order - Get Next Purchase Order Numbers

  • Create Purchase Order - Get Purchase Order Supplier Terms

  • Create Purchase Order - Get Suppliers for Purchase Order

  • • Create Purchase Order - Refresh Purchase Order Item Locations • Create Purchase Order - Refresh Purchase Order Items

  • Create Purchase Order - Refresh Purchase Order Suppliers

  • Get Purchase Order Detail - Simple

  • Manage Purchase Orders - Get Open Purchase Orders

  • Manage Purchase Orders - Get Purchase Order Cancel Reasons

  • • Manage Purchase Orders - Get Purchase Order Header • Manage Purchase Orders - Get Purchase Order Items for an Order • Manage Purchase Orders - Get Purchase Order Locations for an Order/Item • Manage Purchase Orders - Get Purchase Order Origins

  • Manage Purchase Orders - Get Purchase Order Statuses

  • • Manage Purchase Orders - Get Users Who Have Created Purchase Orders

Create Purchase Order - Get Items for Purchase Orders

This section describes the Search Items service.

Business Overview

This service retrieves items applicable for Purchase Order. Item can be searched by either Item or VPN. Enter an item number, a partial item description, or a VPN in the search string.

1. When search type is ITEM, the search string can be an item number, a partial item number, an item description, or partial item description

2. When search type is VPN, the search string can be a VPN or partial VPN.

The items returned are constrained by the following criteria:

  • Approved status.

  • Transaction-level items.

  • Orderable items.

  • Pack items with Order Type as Each are filtered out.

  • Only items belonging to Normal Merchandise Purchase Type as Department are retuned.

  • When a supplier is sent as input then:

    • Only items supplied by the input supplier are returned.

    • The item information is based on the Item/Supplier/Primary Origin Country.

  • When supplier is not sent as input, then item information is based on the primary supplier and primary origin country.

  • If the system_options.dept_level_orders is set to”Y” and the Department ID is sent as input, then only the input department items are returned.

  • Items set for deletion are filtered out.

Service Type

Get

ReST URL
/PurchaseOrders/item?
itemSearchType={itemSearchType}&searchString={searchString}&dept={dept}&suppli
er={supplier}&locations={locations}&pageSize={pageSize}&pageNumber={pageNumber
}
Input Parameters
Parameter NameRequiredDescriptionValid values
itemSearchTypeYesSearch Type item or VPN.ITEM,VPN
searchStringYesSearch string for items Id or Name.NA
deptNoSelected items’ department ID.NA
supplierNoSelected Supplier ID.NA
Parameter NameRequiredDescriptionValid values
LocationsNoComma Separated values for
selected locations’ ID.
NA
PageSizeNoMaximum number of items to retrieveNA
per page.
PageNumberNoResult page to retrieve.NA
Output
PoItemSearchResultRDO
Parameter NameData Type
itemString
itemDescString
supplierBigDecimal
originCountryString
suppPackSizeBigDecimal
unitCostBigDecimal
supplierCurrencyString
baseUnitRetailBigDecimal
retailCurrencyString
baseRetailUnitOfMeasureString
itemImageUrlString
deptBigDecimal
itemSearchLocRDOList
PoItemSearchRstLocRDO
Parameter NameData Type
locationBigDecimal
locationTypeString
unitRetailBigDecimal
retailCurrencyString
unitRetailUnitOfMeasureString
itemLocStatusString
PagedResultsRDO
Parameter NameData Type
totalRecordCountBigDecimal
Next Page URLString
Previous Page URLString
JSON Structure
{
  "links": [],
  "totalRecordCount": 1,
  "results": [
    {
      "links": [],
      "item": "100001887",
      "itemDesc": "DIT Test 12:Black:Medium",
      "supplier": 2200,
      "originCountry": "US",
      "suppPackSize": 1,
      "unitCost": 5,
      "supplierCurrency": "USD",
      "baseUnitRetail": 7.26,
      "retailCurrency": "USD",
      "baseRetailUnitOfMeasure": "EA",
      "itemImageUrl": null,
      "dept": 1102,
      "itemSearchLocRDO": [
        {
          "links": [],
          "location": 363640301,
          "locationType": "W",
          "unitRetail": 7.26,
          "retailCurrency": "USD",
          "unitRetailUnitOfMeasure": "CKG",
          "itemLocStatus": "A",
          "hyperMediaContent": {
            "linkRDO": []
          }
        }
      ],
      "hyperMediaContent": {
        "linkRDO": []
      }
    }
  ],
  "hyperMediaContent": {
    "linkRDO": []
  }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
DAILY_PURGEYesNoNoNo
DEPSYesNoNoNo
ITEM_LOCYesNoNoNo
ITEM_IMAGEYesNoNoNo
ITEM_MASTERYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
ITEM_SUPPLIERYesNoNoNo
ITEM_SUPP_COUNTRYYesNoNoNo
MV_CURRENCY_CONVERSION_RAT
ES
YesNoNoNo
RPM_MERCH_RETAIL_DEF_EXPLYesNoNoNo
RPM_ZONEYesNoNoNo
V_ITEM_MASTERYesNoNoNo
V_PACKSKU_QTYYesNoNoNo
V_SUPSYesNoNoNo
WHYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Create Purchase Order - Get Locations for Purchase Order

This section describes the Search Location service.

Business Overview

The Web service enables location search applicable for PO. Location can be searched by either ‘S’tore or ‘W’arehouse. Enter a location number, a partial location number, a location description, or a partial location description in the search string.

The locations returned are constrained by the following criteria:

  • Only stockholding locations are returned.

  • When search type is Warehouse then:

    • Only virtual warehouses are returned.

    • Internal finishers are filtered out.

  • When search type is store then only the following stores are returned:

    • Company stores.

    • Open stores.

  • When system_options.org_unit_ind is set as ‘Y’ then:

    • When supplier is sent as input then only locations with same org_unit_id are returned.

    • When Org Unit ID is sent as input then only locations with same org_unit_id are returned.

Service Type

Get

ReST URL
/PurchaseOrders/location?
locationType={locationType}&searchString={searchString}&supplier={supplier}&or
gUnitId={orgUnitId}&pageSize={pageSize}&pageNumber={pageNumber}
Input Parameters
Parameter NameRequiredDescriptionValid values
LocationTypeYesLocation type Store or
warehouse.
S,W
SearchStringYesSearch string for locations Id or
Name.
NA
SupplierNoSelected Supplier ID.NA
OrgUnitIdNoSelected locations’ Org unit ID.NA
PageSizeNoMaximum number of locations
to retrieve per page.
NA
PageNumberNoResult page to retrieve.NA
Output
PoLocSearchResultRDO
Parameter NameData Type
locationBigDecimal
locTypeString
locNameString
locationCurrencyString
orgUnitIdBigDecimal
PagedResultsRDO
Parameter NameData Type
totalRecordCountBigDecimal
Next Page URLString
Previous Page URLString
JSON Structure
{
  "links": [
    {
      "href": "/PurchaseOrders/location?
searchString=e&pageSize=1&pageNumber=2",
      "rel": "next",
      "type": "GET",
      "methodType": null
    }
  ],
  "totalRecordCount": 100,
  "results": [
    {
      "links": [],
      "location": 292919862,
      "locType": "S",
      "locName": "ALLOC_FD_Store_1_292919862",
      "locationCurrency": "USD",
      "orgUnitId": 1111111111,
      "hyperMediaContent": {
        "linkRDO": []
      }
    }
  ],
  "hyperMediaContent": {
    "linkRDO": [
      {
        "href": "/PurchaseOrders/location?
searchString=e&pageSize=1&pageNumber=2",
        "rel": "next",
        "type": "GET",
        "methodType": null
      }
    ]
  }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
PARTNER_ORG_UNITYesNoNoNo
V_STOREYesNoNoNo
V_WHYesNoNoNo
WHYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Create Purchase Order - Get Next Purchase Order Numbers

Business Overview

This service retrieves next available order numbers from Merchandising. This service takes an optional query parameter of count to retrieve multiple (up to 999) order numbers. The count defaults to 1 if the query parameter is not provided.

Service Type

Get

ReST URL
/PurchaseOrders/order/id
Input Parameters
Parameter NameRequiredDescription
countNoCount (1-999) of order numbers to be fetched. Default
value is1.
Output
Parameter NameData TypeDetails
order_noNumberDeprecated (UseorderNumbers) as this service has
been enhanced to return multiple order numbers. This
field will contain the first order number from the
orderNumberslist.
orderNumbersArrayContains the list of available order numbers.
JSON Structure
{
  "order_no": 123456,
  "orderNumbers": [123456, 123457]
}
Table Impact
N/A

Create Purchase Order - Get Purchase Order Supplier Terms

This section describes the valid terms.

Business Overview

Retrieves all valid terms; valid terms are enabled with flag set to Yes and within the start and end active date.

Service Type
Get
ReST URL
/PurchaseOrders/supplier/terms
Input Parameters

N/A

Output
PoSupTermsRDO
Parameter NameData Type
termsString
terms_codeString
terms_descString
JSON Structure
{
  "links": [],
  "terms": "108",
  "terms_code": "108",
  "terms_desc": "02 001.00% 010 000",
  "rank": null,
  "hyperMediaContent": {
    "linkRDO": []
  }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
TERMS_HEADYesNoNoNo
TERMS_DETAILYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Create Purchase Order - Get Suppliers for Purchase Order

This section describes the Search Supplier service.

Business Overview

Supplier search can be, by entering either full or partial supplier site ID (numeric) or by a full or partial supplier site description in the search string.

Returned suppliers are constrained by the following criteria:

  • Only active supplier sites are returned.

  • When items are sent as input, then only supplier sites that are common amongst the items are returned.

  • When locations are sent as input, then only suppliers that are valid for the Org Units associated with the input locations are returned.

Service Type
Get
ReST URL
/PurchaseOrders/supplier?
supplierSearchString={supplierSearchString}&locations={locations}&items={items
}&pageSize={pageSize}&pageNumber={pageNumber}
Input Parameters
Parameter NameRequiredDescription
SupplierSearchStringYesSearch string for Supplier’s ID or Name.
ItemNoComma Separated values for items.
LocationsNoComma Separated values for locations.
PageSizeNoMaximum number of suppliers to retrieve per
page.
PageNumberNoResult page to retrieve.
Output
PoSupSearchResultRDO
Parameter NameData Type
supplierBigDecimal
supplierNameString
supplierCurrencyString
termsString
defaultItemLeadTimeBigDecimal
supplierSearchItemRDOList
supplierSearchItemLocRDOList
PoSupItemResultRDO
Parameter NameData Type
itemString
originCountryIdString
leadTimeBigDecimal
PoSupItemLocResultRDO
Parameter NameData Type
itemString
locationBigDecimal

Parameter Name Data Type pickupLeadTime BigDecimal

PagedResultsRDO

Parameter Name Data Type totalRecordCount BigDecimal Next Page URL String Previous Page URL String

JSON Structure
{
  "links": [],
  "totalRecordCount": 1,
  "results": [
    {
      "links": [],
      "supplier": 2200,
      "supplierName": "Our Supplier",
      "supplierCurrency": "USD",
      "terms": "04",
      "defaultItemLeadTime": 2,
      "supplierSearchItemRDO": [
        {
          "links": [],
          "item": "100001887",
          "originCountryId": "US",
          "leadTime": 2,
          "hyperMediaContent": {
            "linkRDO": []
          }
        }
      ],
      "supplierSearchItemLocRDO": [
        {
          "links": [],
          "item": "100001887",
          "location": 363640301,
          "pickupLeadTime": null,
          "hyperMediaContent": {
            "linkRDO": []
          }
        }
      ],
      "hyperMediaContent": {
        "linkRDO": []
      }
    }
  ],
  "hyperMediaContent": {
    "linkRDO": []
  }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
ITEM_SUPPLIERYesNoNoNo
ITEM_SUPP_COUNTRYYesNoNoNo
ITEM_SUPP_COUNTRY_LOCYesNoNoNo
STOREYesNoNoNo
SUPSYesNoNoNo
V_SUPSYesNoNoNo
WHYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Create Purchase Order - Refresh Purchase Order Item Locations

This section describes the Load Locations service.

Business Overview

This Web service allows the user to refresh already selected PO locations records.

Service Type
Get
ReST URL
/PurchaseOrders/location/load?locations={locations}&supplier={supplier}
Input Parameters
Parameter NameRequiredDescription
LocationsYesComma Separated values for selected locations’ ID.
SupplierNoSelected Supplier ID.
Output
PoLocSearchResultRDO
Parameter NameData Type
locationBigDecimal
locTypeString
locNameString
locationCurrencyString

Parameter Name Data Type orgUnitId BigDecimal

JSON Structure
{
  "links": [],
  "location": 292919862,
  "locType": "S",
  "locName": "ALLOC_FD_Store_1_292919862",
  "locationCurrency": "USD",
  "orgUnitId": 1111111111,
  "hyperMediaContent": {
  "linkRDO": []
  }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
PARTNER_ORG_UNITYesNoNoNo
V_STOREYesNoNoNo
V_WHYesNoNoNo
WHYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Create Purchase Order - Refresh Purchase Order Items

This section describes the load items.

Business Overview

The primary use of loading items Web service is to refresh already selected PO items records.

Service Type
Get
ReST URL
/PurchaseOrders/item/load?item=item&supplier={supplier}&locations={locations}
Input Parameters
Parameter NameRequiredDescription
ItemsYesComma Separated values for selected items’ ID.
Parameter NameRequiredDescription
SupplierNoSelected Supplier ID.
LocationsNoComma Separated values for selected locations’ ID.
Output
PoItemSearchResultRDO
Parameter NameData Type
itemString
itemDescString
supplierBigDecimal
originCountryString
suppPackSizeBigDecimal
unitCostBigDecimal
supplierCurrencyString
baseUnitRetailBigDecimal
retailCurrencyString
baseRetailUnitOfMeasureString
itemImageUrlString
deptBigDecimal
itemSearchLocRDOList
PoItemSearchRstLocRDO
Parameter NameData Type
locationBigDecimal
locationTypeString
unitRetailBigDecimal
retailCurrencyString
unitRetailUnitOfMeasureString
itemLocStatusString
PagedResultsRDO
Parameter NameData Type
totalRecordCountBigDecimal
Next Page URLString
Previous Page URLString
JSON Structure
{
  "links": [],
  "totalRecordCount": 1,
  "results": [
    {
      "links": [],
      "item": "100001887",
      "itemDesc": "DIT Test 12:Black:Medium",
      "supplier": 2200,
      "originCountry": "US",
      "suppPackSize": 1,
      "unitCost": 5,
      "supplierCurrency": "USD",
      "baseUnitRetail": 7.26,
      "retailCurrency": "USD",
      "baseRetailUnitOfMeasure": "EA",
      "itemImageUrl": null,
      "dept": 1102,
      "itemSearchLocRDO": [
        {
          "links": [],
          "location": 363640301,
          "locationType": "W",
          "unitRetail": 7.26,
          "retailCurrency": "USD",
          "unitRetailUnitOfMeasure": "CKG",
          "itemLocStatus": "A",
          "hyperMediaContent": {
            "linkRDO": []
          }
        }
      ],
      "hyperMediaContent": {
        "linkRDO": []
      }
    }
  ],
  "hyperMediaContent": {
    "linkRDO": []
  }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
DAILY_PURGEYesNoNoNo
DEPSYesNoNoNo
ITEM_LOCYesNoNoNo
ITEM_IMAGEYesNoNoNo
ITEM_MASTERYesNoNoNo
ITEM_SUPPLIERYesNoNoNo
ITEM_SUPP_COUNTRYYesNoNoNo
MV_CURRENCY_CONVERSION_RAT
ES
YesNoNoNo
TABLESELECTINSERTUPDATEDELETE
RPM_MERCH_RETAIL_DEF_EXPLYesNoNoNo
RPM_ZONEYesNoNoNo
V_ITEM_MASTERYesNoNoNo
V_PACKSKU_QTYYesNoNoNo
V_SUPSYesNoNoNo
WHYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Create Purchase Order - Refresh Purchase Order Suppliers

This section describes the load supplier service.

Business Overview

Loading supplier Web service allows a user to refresh the selected supplier records.

Service Type
Get
ReST URL
/PurchaseOrders/supplier/load?
suppliers={suppliers}&locations={locations}&items={items}
Input Parameters
Parameter NameRequiredDescription
SupplierYesSupplier’s ID.
ItemNoComma Separated values for items.
LocationsNoComma Separated values for locations.
Output
PoSupSearchResultRDO
Parameter NameData Type
supplierBigDecimal
supplierNameString
supplierCurrencyString
termsString
defaultItemLeadTimeBigDecimal
supplierSearchItemRDOList
supplierSearchItemLocRDOList
PoSupItemResultRDO

Parameter Name Data Type item String originCountryId String leadTime BigDecimal

PoSupItemLocResultRDO

Parameter Name Data Type item String location BigDecimal pickupLeadTime BigDecimal

JSON Structure
{
  "links": [],
  "totalRecordCount": 1,
  "results": [
    {
      "links": [],
      "supplier": 2200,
      "supplierName": "Our Supplier",
      "supplierCurrency": "USD",
      "terms": "04",
      "defaultItemLeadTime": 2,
      "supplierSearchItemRDO": [
        {
          "links": [],
          "item": "100001887",
          "originCountryId": "US",
          "leadTime": 2,
          "hyperMediaContent": {
            "linkRDO": []
          }
        }
      ],
      "supplierSearchItemLocRDO": [
        {
          "links": [],
          "item": "100001887",
          "location": 363640301,
          "pickupLeadTime": null,
          "hyperMediaContent": {
            "linkRDO": []
          }
        }
      ],
      "hyperMediaContent": {
        "linkRDO": []
      }
    }
  ],
  "hyperMediaContent": {
    "linkRDO": []
  }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
ITEM_SUPPLIERYesNoNoNo
ITEM_SUPP_COUNTRYYesNoNoNo
ITEM_SUPP_COUNTRY_LOCYesNoNoNo
STOREYesNoNoNo
SUPSYesNoNoNo
V_SUPSYesNoNoNo
WHYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Get Purchase Order Detail - Simple

This section describes the Purchase Order Detail Service.

Business Overview

Purchase Order Detail service allows user to retrieve purchase order information for a selected order.

Service Type

Get

ReST URL
Po/poDetail?orderNumber={orderNumber}
Input Parameters
Parameter NameRequiredDescription
Order NumberYesOrder Number
Output
RestPoRecRDO
Parameter NameData Type
orderNumberBigDecimal
Parameter NameData Type
orderTypeString
groupBigDecimal
divisionBigDecimal
deptBigDecimal
buyerBigDecimal
supplierBigDecimal
supplierStatusString
locationTypeString
locationBigDecimal
writtenDateDate
notBeforeDateDate
notAfterDateDate
otbEndofWeekDateDate
earliestShipDateDate
latestShipDateDate
closeDateDate
termsString
freightTermsString
originIndicatorBigDecimal
shipmentMethodString
purchaseTypeString
statusString
currencyCodeString
masterPurchaseOrderNumberBigDecimal
poItemTblList
RestPoItemRecRDO
Parameter NameData Type
itemString
refernceItemString
packItemString
originCountryIdString
earliestShipDateDate
latestShipDateDate
supplierPackSizeBigDecimal
locationBigDecimal
locationTypeString
physicalWarehouseBigDecimal
unitRetailBigDecimal
quantityOrderedBigDecimal
Parameter NameData Type
quantityPrescaledBigDecimal
quantityReceivedBigDecimal
lastReceivedQuantityBigDecimal
lastRoundQuantityBigDecimal
lastGroupRoundedQunatityBigDecimal
quantityCancelledBigDecimal
cancelCodeString
cancelDateDate
unitCostBigDecimal
costSourceString
nonScaleIndicatorString
estimatedStockDateDate
restPoItemExpTblList
RestPoItemExpRecRDO

Parameter Name Data Type item String packItem String location BigDecimal locationType String componentId String componentDecsiption String alwaysDefaultIndicator String componentRate BigDecimal componentCurrency String exchangeRate BigDecimal estimatedExpenceValue BigDecimal

JSON Structure
{
  "orderNumber": null,
  "orderType": null,
  "group": null,
  "division": null,
  "dept": null,
  "buyer": null,
  "supplier": null,
  "supplierStatus": null,
  "locationType": null,
  "location": null,
  "writtenDate": null,
  "notBeforeDate": null,
  "notAfterDate": null,
  "otbEndOfWeekDate": null,
  "earliestShipDate": null,
  "latestShipDate": null,
  "closeDate": null,
  "terms": null,
  "freightTerms": null,
  "originIndicator": null,
  "shipmentmethod": null,
  "purchaseType": null,
  "status": null,
  "currencyCode": null,
  "masterPurchaseOrderNumber": null,
  "poItemTbl": [
    {
      "item": null,
      "referenceItem": null,
      "originCountryId": null,
      "earliestShipDate": null,
      "latestShipDate": null,
      "supplierPackSize": null,
      "location": null,
      "locationType": null,
      "physicalWarehouse": null,
      "unitRetail": null,
      "quantityOrdered": null,
      "quantityPrescaled": null,
      "quantityReceived": null,
      "lastReceivedQuantity": null,
      "lastRoundQuantity": null,
      "lastGroupRoundedQuantity": null,
      "quantityCancelled": null,
      "cancelCode": null,
      "unitCost": null,
      "costSource": null,
      "nonScaleIndicator": null,
      "estimatedStockDate": null,
      "poItemExpTbl": [
         {
           "item": null,
           "packItem": null,
           "location": null,
           "locationType": null,
           "componentId": null,
           "componentDescription": null,
           "alwaysDefaultIndicator": null,
           "componentRate": null,
           "componentCurrency": null,
           "exchangeRate": null,
           "estimatedExpenceValue": null,
           "links": [],
           "hyperMediaContent": {
           "linkRDO": []
        }
      }
    ],
    "links": [],
    "hyperMediaContent": {
       "linkRDO": []
    }
  }
  "links": [],
  "hyperMediaContent": {
    "linkRDO": []
  }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
ORDHEADYesNoNoNo
ORDLOCYesNoNoNo
ORDSKUYesNoNoNo
ORDLOC_EXPENSESYesNoNoNo
V_DEPSYesNoNoNo
SUPSYesNoNoNo
WHYesNoNoNo
ELC_COMPYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Manage Purchase Orders - Get Open Purchase Orders

This section describes the Purchase Order Search service.

Functional Area
Procurement
Business Overview

This service retrieves summary information on all none closed purchase orders that match input criteria.

Service Type

Get

ReST URL
/PurchaseOrders/recent/purchaseOrderSearch?
statuses={statuses}&createIds={createIds}&startCreateDate={startCreateDate}&en
dCreateDate={endCreateDate}&orderNumber={orderNumber}&suppliers={suppliers}&or
iginCodes={originCodes}&departments={departments}&pageSize={pageSize}&pageNumb
er={pageNumber}
Input Parameters
Parameter NameRequiredDescriptionValid values
statusesNoList of order statusA,S,W
createIdsNoList of user IDs who created the PO
startCreateDateNoLong format date for starting period
endCreateDateNoLong format date for end period
orderNumberNoOrder number to retrieve
suppliersNoList of order suppliers
originCodesNoList of valid Origin codes
departmentsNoList of valid order/item departments
pageSizeMaximum number of orders to
retrieve per page
pageNumberResult page to retrieve
Output
RpoSearchResRDO
Parameter NameData Type
orderNumberBigDecimal
statusString
supplierBigDecimal
supplierNameString
notBeforeDateLong
notAfterDateLong
totalCostBigDecimal
currencyString
previouslyApprovedIndicatorString
editableIndicatorString
PagedResultsRDO
Parameter NameData Type
totalRecordCountBigDecimal
Next Page URLString
Previous Page URLString
JSON Structure
{
  "type": "paginationRDO",
  "totalRecordCount": 252,
  "hyperMediaContent": {},
  "links": [],
  "results": [{
    "orderNumber": 12453253,
    "statusId" : "W",
    "supplierId": 124121,
    "supplierName": "Some Supplier Site",
    "notBeforeDate": 35235252,
    "notAfterDate": 325235252351,
    "totalCost": 243.231,
    "currencyCode": "USD"
  }]
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
ITEM_MASTERYesNoNoNo
PRODUCT_CONFIG_OPTIONSYesNoNoNo
V_ORDHEADYesNoNoNo
V_ORDSKUYesNoNoNo
V_SUPSYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Manage Purchase Orders - Get Purchase Order Cancel Reasons

This section describes the Cancel Reason Code List service.

Functional Area
Procurement
Business Overview

Retrieves all purchase order cancel reason codes.

Service Type

Get

ReST URL
/PurchaseOrders/recent/cancelReasonCodeList
Input Parameters

No input.

Output
CodeDetailRDO
Parameter NameData Type
codeString
codeDescriptionString
codeSequenceBigDecimal
JSON Structure
[
  {
    "code": null,
    "codeDescription": null,
    "codeSequence": null,
    "links": [ ],
    "hyperMediaContent": {
      "linkRDO": [ ]
    }
  }
]
Table Impact
TABLESELECTINSERTUPDATEDELETE
CODE_HEADYesNoNoNo
CODE_DETAILYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Manage Purchase Orders - Get Purchase Order Header

This section describes the Get Purchase Order Summary service.

Functional Area
Procurement
Business Overview

This service retrieves purchase order header detail with open to buy information.

Service Type
Get
ReST URL
/PurchaseOrders/recent/PurchaseOrderSummary?orderNumber={orderNumber}
Input Parameters
Order Number-Required
Output
RpoOrderSumRDO
Parameter NameData Type
orderNumberBigDecimal
statusString
supplierBigDecimal
supplierNameString
notBeforeDateLong
notAfterDateLong
otbEowDateLong
termsString
termsCodeString
termsDescriptionString
totalCostBigDecimal
totalRetailBigDecimal
CurrencyString
createIdString
writtenDateLong
defaultDisplayLevelString
previouslyApprovedIndicatorString
editableIndicatorString
otbTableList
RpoOrderSumOtbRDO
Parameter NameData Type
departmentBigDecimal
classIdBigDecimal
subclassIdBigDecimal
subclassNameString
orderAmountBigDecimal
budgetAmountBigDecimal
receivedAmountBigDecimal
approvedAmountBigDecimal
outstandingAmountBigDecimal
JSON Structure
{
  “orderNumber":12345,
  “statusId":"W",
  “supplierId":12345,
  “supplierName": “Supplier 12345",
  “notBeforeDate": 1234567,
  “notAfterDate": 236573,
  "terms":"01",
  "termsCode":"01234",
  "termsDescription":"Letter Of Credit",
  “totalCost": 123.45,
  “totalRetail": 456.78,
  “currencyCode": “CAD",
  “createdBy": “BUYER",
  “writtenDate": 1234567,
  "otbResults":
   [{
      "department" : 12345,
      "classId": 12345,
      "subClassId" : 12345,
      "subClassName": "subClassName"
      "budgetAmount": 12345.545,
      "orderAmount": 12345.545,
      "receivedAmount": 12345.545,
      "approvedAmount": 12345.545
  }]
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
COST_ZONE_GROUP_LOCYesNoNoNo
COUNTRY_ATTRIBYesNoNoNo
DEPSYesNoNoNo
ELC_COMPYesNoNoNo
ITEM_COST_HEADYesNoNoNo
ITEM_EXP_DETAILYesNoNoNo
ITEM_EXP_HEADYesNoNoNo
ITEM_LOCYesNoNoNo
ITEM_MASTERYesNoNoNo
ITEM_SUPP_COUNTRYYesNoNoNo
MV_CURRENCY_CONVERSION_RAT
ES
YesNoNoNo
ORDHEADYesNoNoNo
ORDLOCYesNoNoNo
ORDLOC_EXPYesNoNoNo
ORDSKUYesNoNoNo
ORDSKU_HTSYesNoNoNo
ORDSKU_HTS_ASSESSYesNoNoNo
OTBYesNoNoNo
PERIODYesNoNoNo
PRODUCT_CONFIG_OPTIONSYesNoNoNo
STOREYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
SUPSYesNoNoNo
V_ORDHEADYesNoNoNo
V_PACKSKU_QTYYesNoNoNo
V_SUBCLASS_TLYesNoNoNo
V_SUPSYesNoNoNo
V_TERMS_HEAD_TLYesNoNoNo
WHYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Manage Purchase Orders - Get Purchase Order Items for an Order

This section describes the Get Purchase Order Items service.

Functional Area
Procurement
Business Overview

This service retrieves items details for an order number. Based on the display level, the items record aggregates to the level specified when applicable.

Service Type

Get

ReST URL
/PurchaseOrders/recent/PurchaseOrderItems?
orderNumber={orderNumber}&itemDisplayLevel={itemDisplayLevel}&pageSize={pageSi
ze}&pageNumber={pageNumber}
Input Parameters

Order Number - Required

Item Display Level - Optional - valid values PARENT_LEVEL , PARENT_DIFF_LEVEL , or TRAN_LEVEL

Page Size - Optional

Page Number - Optional

Output
RpoOrderSumItemRDO
Parameter NameData Type
itemString
ItemDescriptionString

Parameter Name Data Type diff1 String diff1Description String diff2 String diff2Description String diff3 String diff3Description String diff4 String diff4Description String quantityOrdered BigDecimal totalCost BigDecimal currency String itemImageUrl String

PagedResultsRDO

Parameter Name Data Type totalRecordCount BigDecimal Next Page URL String Previous Page URL String

JSON Structure
{
  "type": "paginationRDO",
  "totalRecordCount": 252,
  "hyperMediaContent": {},
  "links": [],
  "orderNumber": 1212131,
  "results": [{
    "itemId": 1234
    "itemDescription": "some item",
    "firstDiffId": 123424,
    "firstDiffDescription": "desc",
    "secondDiffId": 12345
    "secondDiffDescription" : "desc",
    "thirdDiffId": 1234324
    "thirdDiffDescription" : "desc",
    "fourthDiffId" : 1324,
    "fourthDiffDescription" : "desc",
    "quanityOrdered": 100,
    "totalCost" : 12345.353,
    "currencyCode": "USD",
    "itemImageUrl": "http://..."
  }]
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
ITEM_IMAGEYesNoNoNo
ITEM_MASTERYesNoNoNo
ORDLOCYesNoNoNo
ORDSKUYesNoNoNo
ORDLOC_WKSHTYesNoNoNo
V_ITEM_MASTERYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Manage Purchase Orders - Get Purchase Order Locations for an Order/Item

This section describes the Get Purchase Order Item Locations service.

Functional Area
Procurement
Business Overview

This service retrieves item location details for an order number. The location record aggregates based on the display level when applicable.

Service Type
Get
ReST URL
/PurchaseOrders/recent/PurchaseOrderItemLocations?
orderNumber={orderNumber}&item={item}&itemDisplayLevel={itemDisplayLevel}&diff
1={diff1}&diff2={diff2}&diff3={diff3}&diff4={diff4}&pageSize={pageSize}&pageNu
mber={pageNumber}
Input Parameters
Parameter NameRequiredDescriptionValid values
orderNumberYesOrder number
itemYesItem Id
itemDisplayLevelNoItem display levelPARENT_LEVEL,
PARENT_DIFF_LEVEL,
TRAN_LEVEL
diff1NoDiff1 Id
diff2NoDiff2 Id
diff3NoDiff3 Id
diff4NoDiff4 Id
Parameter NameRequiredDescriptionValid values
pageSizeNoMaximum number of
items to retrieve per page
pageNumberNoResult page to retrieve

Output

RpoOrderItemLocRDO
Parameter NameData Type
locationBigDecimal
locationNameString
quantityOrderedBigDecimal
totalCostBigDecimal
currencyString
PagedResultsRDO
Parameter NameData Type
totalRecordCountBigDecimal
Next Page URLString
Previous Page URLString
JSON Structure
{
  "locations" : [
    {
      "locationId" : 12345,
      "locationName" : "some location",
      "orderedQuantity" : 1000,
      "totalCost" : 12345.234,
      "currencyCode" : "USD"
    },
    {
      "locationId" : 12345,
      "locationName" : "some location",
      "orderedQuantity" : 1000,
      "totalCost" : 12345.234,
      "currencyCode" : "USD"
    }
  ]
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
ITEM_MASTERYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
ORDLOCYesNoNoNo
V_STORE_TLYesNoNoNo
V_WH_TLYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Manage Purchase Orders - Get Purchase Order Origins

This section describes the Origin Code List service.

Functional Area
Procurement
Business Overview

Retrieves all purchase order origin codes.

Service Type

Get

ReST URL
/PurchaseOrders/recent/originCodeList
Input Parameters

No input.

Output
CodeDetailRDO
Parameter NameData Type
codeString
codeDescriptionString
codeSequenceBigDecimal
JSON Structure
[
  {
    "code": null,
    "codeDescription": null,
    "codeSequence": null,
    "links": [ ],
    "hyperMediaContent": {
      "linkRDO": [ ]
  }
]
    }
Table Impact
TABLESELECTINSERTUPDATEDELETE
CODE_HEADYesNoNoNo
CODE_DETAILYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Manage Purchase Orders - Get Purchase Order Statuses

This section describes the Purchase Order Status list.

Functional Area
Procurement
Business Overview

Retrieves all valid purchase order statuses.

Service Type

Get

ReST URL
/PurchaseOrders/recent/purchaseOrderStatusList
Input Parameters

No input.

Output
CodeDetailRDO
Parameter NameData Type
codeString
codeDescriptionString
codeSequenceBigDecimal
JSON Structure
[
  {
    "code": null,
    "codeDescription": null,
    "codeSequence": null,
    "links": [ ],
    "hyperMediaContent": {
      "linkRDO": [ ]
    }
  }
]
Table Impact
TABLESELECTINSERTUPDATEDELETE
CODE_HEADYesNoNoNo
CODE_DETAILYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Manage Purchase Orders - Get Users Who Have Created Purchase Orders

This section describes the Search Purchase Order User ID.

Functional Area
Procurement
Business Overview

This service retrieves a list of user IDs associated with creating a purchase order.

Service Type

Get

ReST URL
/PurchaseOrders/recent/searchUserIds?
searchString={searchString}&pageSize={pageSize}&pageNumber={pageNumber}
Input Parameters
  • Search String - Required

  • Page Size - Optional

  • Page Number - Optional

Output
VarcharIdRDO
Parameter NameData Type
idString
PagedResultsRDO

Parameter Name Data Type totalRecordCount BigDecimal Next Page URL String Previous Page URL String

JSON Structure
{
  "totalRecordCount": null,
  "results": [
    {
      "id": null,
      "links": [ ],
      "hyperMediaContent": {
        "linkRDO": [ ]
      }
    }
  ],
  "links": [ ],
  "hyperMediaContent": {
    "linkRDO": [ ]
  }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
V_ORDHEADYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Mobile Workflow Purchase Order Upload Service

The following services are included in this functional area:

  • Create Purchase Order - Simple

  • Manage Purchase Orders - Approve Purchase Orders

  • Manage Purchase Orders - Cancel Purchase Orders

  • Manage Purchase Orders - Reject Purchase Orders

  • Manage Purchase Orders - Update Purchase Order Dates

Create Purchase Order - Simple

Business Overview

This Web service calls the existing Merchandising XOrder API directly with input parameters. For more information on Merchandising XOrder API, see the sections addressing both the Store Order Subscription API and the PO Subscription API.

Service Type
Post
ReST URL
/PurchaseOrders
Input Parameters

Example json RDO input:

{
         "links" : [ ],
          "itemRDOs" : [ {
            "links" : [ ],
           "item" : null,
           "location" :null,
            "unitCost" : null,
            "referenceItem" : null,
            "originCountryId" : null,
            "suppPackSize" : null,
            "qtyOrdered" : null,
            "locationType" : null,
            "cancelInd" : null,
            "reInstateInd" : null,
            "hyperMediaContent" : {
              "linkRDO" : [ ]
            }
          } ],
          "orderNo" : null,
          "supplier" : null,
          "currencyCode" : null,
          "terms" : null,
          "notBeforeDate" : null,
          "notAfterDate" : null,
          "status" : "A",
          "writtenDate" : null,
          "origInd" : null,
          "user_id" : null,
          "dept" : null,
          "exchangeRate" : null,
          "includeOnOrdInd" : null,
          "ediPoInd" : null,
          "preMarkInd" : null,
          "comment" : null,
          "otbEowDate" : null,
          "hyperMediaContent" : {
            "linkRDO" : [ ]
          }
        }
Output

NA

Table Impact

For more information on Merchandising XOrder API, see the Store Order Subscription API and the PO Subscription API sections.

Manage Purchase Orders - Approve Purchase Orders

This section describes the Approve Purchase Orders service.

Functional Area
Procurement
Business Overview

This service approves a list of purchase orders.

Service Type

Post

ReST URL

/PurchaseOrders/recent/approvePurchaseOrders?orderNumbers={orderNumbers}

Input Parameters

Order Number -Required-comma separated list

Output
RpoStatusRDO
Parameter NameData Type
successOrdersCountBigDecimal
successOrdersTableList
failOrdersCountBigDecimal
failOrdersTableList
RpoFailRDO

Parameter Name Data Type orderNumber BigDecimal errorMessage String JSON Structure: { "successOrdersCount": 0, "successOrdersTable": [],

    "failOrdersCount": 2,
    "failOrdersTable": [
        {
            "orderNumber": 123,
            "errorMessage": " Invalid Order Number.",
            "links": [],
            "hyperMediaContent": {
                "linkRDO": []
            }
        },
        {
            "orderNumber": 987,
            "errorMessage": "Invalid Order Number.",
            "links": [],
            "hyperMediaContent": {
                "linkRDO": []
            }
        }
    ],
    "links": [],
    "hyperMediaContent": {
        "linkRDO": []
    }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
ALC_HEAD_TEMPNoNoNoYes
ALLOC_CHRG_TEMPNoNoNoYes
ALLOC_DETAILYesNoYesNo
ALLOC_DETAIL_TEMPNoNoNoYes
ALLOC_HEADERYesNoYesNo
ALLOC_HEADER_TEMPNoNoNoYes
CONTRACT_COST_HISTYesYesNoNo
CONTRACT_DETAILYesNoYesNo
CONTRACT_HEADERYesNoYesNo
DEAL_ACTUALS_FORECASTNoNoNoYes
DEAL_ACTUALS_ITEM_LOCNoNoNoYes
DEAL_COMP_PROMNoNoNoYes
DEAL_DETAILNoNoNoYes
DEAL_HEADNoNoNoYes
DEAL_HEAD_CFA_EXTNoNoNoYes
DEAL_ITEMLOC_DCSNoNoNoYes
DEAL_ITEMLOC_DIV_GRPNoNoNoYes
DEAL_ITEMLOC_ITEMNoNoNoYes
DEAL_ITEMLOC_PARENT_DIFFNoNoNoYes
DEAL_QUEUENoNoNoYes
DEAL_THRESHOLDNoNoNoYes
DEAL_THRESHOLD_REVNoNoNoYes
DOCYesNoNoNo
DOC_LINKYesNoNoNo
ITEM_LOCYesNoYesNo
ITEM_MASTERYesNoNoNo
ITEM_SUPP_COUNTRYYesNoNoNo
ITEM_TICKETYesNoNoNo
LC_ACTIVITYYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
LC_AMENDMENTSYesYesNoNo
LC_DETAILYesYesNoNo
LC_HEADYesNoYesNo
LC_ORDAPPLYNoYesNoYes
ORD_INV_MGMTYesNoNoYes
ORD_LC_AMENDMENTSYesNoNoNo
ORDCUSTYesNoNoNo
ORDCUST_DETAILYesYesNoYes
ORDDIST_ITEM_TEMPNoNoNoYes
ORDHEADYesNoNoNo
ORDHEAD_REVNoYesNoNo
ORDLCYesNoYesNo
ORDLOCYesNoYesNo
ORDLOC_DISCOUNTNoNoNoYes
ORDLOC_DISCOUNT_TEMPNoNoNoYes
ORDLOC_EXP_TEMPNoNoNoYes
ORDLOC_REVNoYesNoNo
ORDLOC_TEMPNoNoNoYes
ORDLOC_WKSHTYesNoNoYes
ORDSKUYesNoNoNo
ORDSKU_HTSYesNoNoNo
ORDSKU_HTS_ASSESS_TEMPNoNoNoYes
ORDSKU_HTS_TEMPNoNoNoYes
ORDSKU_REVNoYesNoNo
ORDSKU_TEMPNoNoNoYes
OTBYesYesYesNo
OTB_CASCADE_STGNoYesNoNo
PARTNER_ORG_UNITYesNoNoNo
POP_TERMS_DEFNoNoNoYes
POP_TERMS_FULFILLMENTNoNoNoYes
PROCUREMENT_UNIT_OPTIONSYesNoNoNo
REPL_RESULTS_TEMPNoNoNoYes
REQ_DOCYesYesNoNo
REQ_DOC_TEMPNoNoNoYes
REV_ORDERSNoNoNoYes
RTM_UNIT_OPTIONSYesNoNoNo
STOREYesNoNoNo
SUP_AVAILYesNoYesNo
SUPSYesNoNoNo
SYSTEM_CONFIG_OPTIONSYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
TAX_CALC_EVENTYesYesNoNo
TAX_EVENT_RUN_TYPEYesNoNoNo
TICKET_REQUESTNoYesNoNo
TIMELINE_TEMPNoNoNoYes
TRANSIT_TIMESYesNoNoNo
V_PACKSKU_QTYYesNoNoNo
WHYesNoNoNo
WO_DETAIL_TEMPNoNoNoYes
WO_HEAD_TEMPNoNoNoYes
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Manage Purchase Orders - Cancel Purchase Orders

This section describes the Cancel Purchase Orders service.

Functional Area
Procurement
Business Overview

This service cancels a list of purchase order.

Service Type

Post

ReST URL

/PurchaseOrders/recent/cancelPurchaseOrders?orderNumbers={orderNumbers}

Input Parameters

Order Number -Required-comma separated list

Output
RpoStatusRDO
Parameter NameData Type
successOrdersCountBigDecimal
successOrdersTableList
failOrdersCountBigDecimal
failOrdersTableList
RpoFailRDO

Parameter Name Data Type orderNumber BigDecimal errorMessage String JSON Structure: { "successOrdersCount": 0, "successOrdersTable": [], "failOrdersCount": 2, "failOrdersTable": [ { "orderNumber": 123, "errorMessage": "Invalid Reason Code.", "links": [], "hyperMediaContent": { "linkRDO": [] } }, { "orderNumber": 987, "errorMessage": "Invalid Order Number.", "links": [], "hyperMediaContent": { "linkRDO": [] } } ], "links": [], "hyperMediaContent": { "linkRDO": [] } }

Table Impact
TABLESELECTINSERTUPDATEDELETE
ALLOC_DETAILYesNoYesNo
ALLOC_HEADERYesNoYesNo
APPT_DETAILYesNoNoNo
APPT_HEADYesNoNoNo
CODE_DETAILYesNoNoNo
DEAL_CALC_QUEUENoNoNoYes
ORDHEADYesNoYesNo
ORDLOCYesNoYesNo
OTBNoNoYesNo
SHIPMENTYesNoYesNo
SHIPSKUYesNoYesNo
SYSTEM_OPTIONSYesNoNoNo
WHYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Manage Purchase Orders - Reject Purchase Orders

This section describes the Reject Purchase Orders service.

Functional Area
Procurement
Business Overview

This service rejects a list of purchase order.

Service Type

Post

ReST URL

/PurchaseOrders/recent/rejectPurchaseOrders?orderNumbers={orderNumbers}

Input Parameters

Order Numbers - Required - comma separated list

Output
RpoStatusRDO
Parameter NameData Type
successOrdersCountBigDecimal
successOrdersTableList
failOrdersCountBigDecimal
failOrdersTableList
RpoFailRDO

Parameter Name Data Type orderNumber BigDecimal errorMessage String JSON Structure: { "successOrdersCount": 0,

    "successOrdersTable": [],
    "failOrdersCount": 2,
    "failOrdersTable": [
        {
            "orderNumber": 123,
            "errorMessage": " Invalid Order Number.",
            "links": [],
            "hyperMediaContent": {
                "linkRDO": []
            }
        },
        {
            "orderNumber": 987,
            "errorMessage": "Invalid Order Number.",
            "links": [],
            "hyperMediaContent": {
                "linkRDO": []
            }
        }
    ],
    "links": [],
    "hyperMediaContent": {
        "linkRDO": []
    }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
ALLOC_DETAILNoNoYesNo
ALLOC_HEADERYesNoYesNo
CONTRACT_DETAILYesNoYesNo
CONTRACT_HEADERYesNoYesNo
ITEM_MASTERYesNoNoNo
LC_ORDAPPLYNoNoNoYes
ORDHEADYesNoYesNo
ORDLOCYesNoNoNo
OTBNoNoYesNo
SHIPMENTYesNoNoNo
SHIPSKUYesNoNoNo
SYSTEM_OPTIONSYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Manage Purchase Orders - Update Purchase Order Dates

This section describes the Update Purchase Orders Date service.

Functional Area

Procurement

Business Overview

This service update list of purchase order dates. If no date is sent or sent as null then the assumption is there is no change on the current record date.

Service Type

Post

ReST URL

/PurchaseOrders/recent/updatePurchaseOrderDate? notBeforeDate={notBeforeDate}&notAfterDate={notAfterDate}&otbEowDate={otbEowDate}&or derNumbers={orderNumbers}

Input Parameters

Order Numbers - Required - comma separated list

Not Before Date - Optional - in a long format

Not After Date - Optional - in a long format

OTB EWO Date - Optional - in a long format

Output
RpoStatusRDO
Parameter NameData Type
successOrdersCountBigDecimal
successOrdersTableList
failOrdersCountBigDecimal
failOrdersTableList
RpoFailRDO
Parameter NameData Type
orderNumberBigDecimal
errorMessageString
JSON Structure:
{
    "successOrdersCount": 0,
    "successOrdersTable": [],
    "failOrdersCount": 2,
    "failOrdersTable": [
        {
            "orderNumber": 123,
            "errorMessage": "Invalid Reason Code.",
            "links": [],
            "hyperMediaContent": {
                "linkRDO": []
            }
        },
        {
            "orderNumber": 987,
            "errorMessage": "Invalid Reason Code.",
            "links": [],
            "hyperMediaContent": {
                "linkRDO": []
            }
        }
    ],
    "links": [],
    "hyperMediaContent": {
        "linkRDO": []
    }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
ALLOC_HEADERNoNoYesNo
CONTRACT_HEADERYesNoNoNo
DEAL_HEADYesNoYesNo
ORDHEADYesNoYesNo
OTBNoNoYesNo
SHIPMENTYesNoNoNo
SYSTEM_OPTIONSYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Purchase Order Download Service

The following services are included in this functional area:

  • Get Purchase Order Details

  • Get Purchase Order Details by Order Number

Get Purchase Order Details

Endpoints
MerchIntegrations/services/procurement/order
MerchIntegrations/services/procurement/order/{orderNo}
Functional Area
Purchase Orders
Business Overview

This service publishes external purchase orders to downstream consuming systems. The payload includes order header and line-location detail, along with supplier-sourcing, location, and customer-order enrichment. The JSON view returns orders only when ORDHEAD.STATUS is A, W, S, or C, ORDHEAD.ORIG_APPROVAL_DATE is not null, and ORDHEAD.ORDER_TYPE <> ‘DSD’, so DSD orders and orders that have never crossed an approval event are not included. Worksheet and submitted statuses can appear in the payload only after the order has already been approved at least once, and orderLocationType is derived as S, W, or SW depending on whether the order locations are stores, warehouses, or a mix of both.

The publication for order based on order detail line is only when unit cost or estimated in stock date or quantity ordered is changed. This service will not publish orders when shipping or receiving of the order has started.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: ORDHEAD, ORDLOC

Additional business tables: ORDSKU, ORDCUST, ORDCUST_DETAIL, ITEM_SUPP_COUNTRY, STORE, WH, DEPS, BUYER, RPM_PROMO, CODE_DETAIL, V_TERMS_HEAD_TL, PO_TYPE, V_PARTNER_TL, V_OUTLOC_TL, ORDHEAD_CFA_EXT, ORDSKU_CFA_EXT, ORDLOC_CFA_EXT

JSON cache table: MERCHAPI_EXT_ORDER

JSON generation view: V_MERCHAPI_EXT_ORDER_JSON

Builds the header from ORDHEAD, the detail array from ORDLOC and ORDSKU, OMS linkage from ORDCUST and ORDCUST_DETAIL, item-supplier sourcing attributes from ITEM_SUPP_COUNTRY, location enrichment from WH and STORE, descriptive lookup values from DEPS, BUYER, RPM_PROMO, CODE_DETAIL, V_TERMS_HEAD_TL, PO_TYPE, V_PARTNER_TL, and V_OUTLOC_TL, and header, item, and item-location custom flex attributes from MERCHAPI_EXT_ORDER_CFA, MERCHAPI_EXT_ORDER_ITEM_CFA, and MERCHAPI_EXT_ORD_ITEM_LOC_CFA.

The view only publishes orders where ORDHEAD.STATUS is one of A, W, S, or C, ORDHEAD.ORIG_APPROVAL_DATE is not null, and ORDHEAD.ORDER_TYPE <> ‘DSD’.

This means DSD orders and orders that have never crossed an approval event are not returned, even though worksheet and submitted statuses can still appear later in the payload after the order has already been approved once.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild pull published rows from V_MERCHAPI_EXT_ORDER_JSON. No additional filter criteria were identified beyond the cache-build logic.

Mark cache rows deleted when the order no longer exists in V_MERCHAPI_EXT_ORDER_JSON.

ICL (Integration Change Log) table: ICL_RMS_ORDER (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on ORDHEAD, ORDLOC, ORDHEAD_CFA_EXT, ORDLOC_CFA_EXT, and ORDSKU_CFA_EXT.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_ORDER

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_ORDER_ADHOC_PROCESS MERCHAPI_EXT_ORDER_ADHOC_JOB

Webhook configuration api name: procurement/order

Special handling

Additional GET query parameters: supplier, orderOriginatedInd, notBeforeDate, notAfterDate, importOrderInd, locType.

These filters are not backed by dedicated cache-table indexes. At high volume, use them only as additional criteria on top of a small-window delta fetch and not for full downloads.

Performance Considerations

For customers expecting high to very high publish volume from this API, sizing and operational tuning should be addressed early in the implementation lifecycle. Initial cache seeding, ongoing delta processing, full extracts, and incremental downloads or webhook-driven delivery have different runtime characteristics and should be evaluated separately. The available configuration for this service should therefore be reviewed and validated against the customer’s projected production data profile, including expected volume, message size, and access pattern, with the key performance-related configuration for this service covering the following:

Multi-threading and commit control

This service supports multi-threaded execution for both initial seeding and delta processing. Thread count is controlled through API_NO_OF_THREADS, and commit sizing is controlled through API_COMMIT_MAX_COUNTER.

For initial seeding, thread and commit settings should be chosen together based on expected row volume, average message size, and the complex SQL query required to build the message from multiple base and supporting tables. Common starting points for large-volume seeding are 8, 16, or 32 threads. Values of 48 or 64 threads should be considered only after testing and with awareness of competing workload in the environment.

API_COMMIT_MAX_COUNTER should be sized together with the thread setting. Typical values can range from about 100 to 1,000 rows, with higher values such as 10,000 used in some cases after testing. Where payloads are larger or the source SQL is heavier because of the number of contributing tables, a lower thread count with a higher commit value may perform better.

For delta processing, the same parameters apply. The seeding commit setting is usually a reasonable starting point, but where qualifying business events can create short-term spikes, the commit value may need to remain on the lower side so backlog drains in smaller units of work.

Dropping indexes and constraints during seeding

This option applies only to initial seeding, including truncate-and-load execution. When thread and commit settings are high, concurrent inserts can increase index maintenance overhead and slow the load.

To reduce that overhead, DROP_INDEX_ON_REFRESH can be enabled so indexes and constraints are dropped before seeding and rebuilt after the load completes.

This can improve data-load throughput, but the overall refresh plan should also account for the additional time needed for index rebuild after the seeding step finishes.

GATHER_STATS_ON_REFRESH should normally remain enabled unless testing shows a need to change it.

REST fetch considerations

REST page size should be selected based on average message size so that the average response remains below about 10 MB per call. Common page-limit values are 500, 1,000, 5,000, or 10,000 rows, and very small limits, especially below 100, should generally be avoided.

For full downloads, do not provide the since query parameter so the database can favor the primary-key access path. For delta downloads, use a small time window, typically a few minutes and at most a few hours, so the eligible row set on the LAST_UPDATE_DATETIME index remains small.

Wider delta windows, especially multi-day windows that can arise during outages or data recovery, generally do not perform well. For such scenarios, keeping BUILD_HISTOGRAM enabled allows the service to support recovery through smaller, more selective polling windows using the optimalBefore query parameter.

In this catch-up pattern, for requests up to 30 days in the past, the client provides optimalBefore and leaves before empty. The client then uses the returned before timestamp to continue polling incrementally until the backlog is cleared, and then resumes the normal shortwindow delta pattern. Hourly histogram processing groups LAST_UPDATE_DATETIME values into buckets of 10,000 rows in MERCHAPI_TIMESTAMP_HISTOGRAM using the shared HISTOGRAM_ROW_COUNT configuration.

Service Type

GET

ReST URL

MerchIntegrations/services/procurement/order

MerchIntegrations/services/procurement/order/{orderNo}

Input Parameters
Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
supplierNoString (10)Supplier
orderOriginatedIndNoNumberOrder Orginated
Indicator
notBeforeDateNoStringNot Before Date
(Example: 2023-12-31)
notAfterDateNoStringNot After Date
(Example: 2023-12-31)
Parameter NameRequiredData TypeDescription
importOrderIndNoStringImport Order
Indicator - must be Y
or N
locTypeNoStringOrder Location Type -
must be S, W or SW
offsetkeyNoString (12)Offset key (Order
Number)
limitNoString (6)Pagination limit.
Default value is 1000.
optimalBeforeNoStringEnables histogram-
based calculation of
the before timestamp
when before is not
provided. Valid values
are Y or N. Default
value is N.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-1202 Input Parameter for “MerchIntegrations/services/procurement/order/ {orderNo}“

Parameter NameRequiredData TypeDescription
orderNoYesNumber
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)
Output

Table 5-1203 PageResultsItemsMerchApiOrder - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1204 MerchApiOrder - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for purchase
order details.
docTypeNoString (1)This feld indicates the
type of document this
message is for. Valid
value is P for purchase
order.
orderNoNoNumber(12,0)This feld contains the
number to uniquely
identify an order
within the system.
statusNoString (1)This feld indicates the
current status of the
order.
orderTypeNoString (3)This feld indicates the
type of order.
orderTypeDescriptionNoString (250)This feld contains the
order type description.

Table 5-1204 (Cont.) MerchApiOrder - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deptNoNumber(4,0)This feld contains the
department number
for orders limited to a
single department and
will be null for orders
involving items in
more than one
department.
deptNameNoString (120)This feld contains the
name of the
department.
buyerNoNumber(4,0)This feld contains the
number associated
with the buyer for the
order.
buyerNameNoString (120)This feld contains the
name of the
authorized buyer.
supplierNoNumber(10,0)This feld contains the
vendor number who
will provide the
merchandise specifed
in the order.
promotionNoNumber(10,0)This feld contains the
promotion number
associated with the
order to provide a link
between the order
dialog and the
promotions dialog.
promotionDescriptionNoString (1000)This feld contains a
description of the
promotion. This value
comes from Pricing.
qualityControlIndNoString (1)This feld determines
whether or not quality
control will be
required when items
for this order are
received.
notBeforeDateNodateThis feld contains the
frst date that delivery
of the order will be
accepted.
notAfterDateNodateThis feld contains the
last date that delivery
of the order will be
accepted.

Table 5-1204 (Cont.) MerchApiOrder - Object. See list of elements for detail

Element NameRequiredData TypeDescription
otbEowDateNodateThis feld contains the
OTB budget bucket the
order amount should
be placed into.
earliestShipDateNodateThis feld contains the
earliest date when the
items on the purchase
order can be shipped
by the supplier. This
represents the earliest
ship date of all the
items on the order.
latestShipDateNodateThis feld contains the
date after which the
items on the purchase
order can no longer be
shipped by the
supplier. This
represents the greatest
latest ship date of all
the items on the order.
closeDateNodateThis feld contains the
date when the order is
closed.
termsNoString (15)This feld is an
indicator identifying
the sales terms for the
order. These terms
specify when payment
is due and if any
discounts exist for
early payment.
termsCodeNoString (240)This feld contains the
description associated
with the terms code.
freightTermsNoString (30)This feld contains an
indicator that
references what
freight terms are
related to the order.
Valid values are in the
FREIGHT_TERMS
table.
paymentMethodNoString (6)This feld indicates
how the purchase
order will be paid.
paymentMethodDescri
ption
NoString (250)This feld contains the
description of the
payment method.

Table 5-1204 (Cont.) MerchApiOrder - Object. See list of elements for detail

Element NameRequiredData TypeDescription
backhaulTypeNoString (6)This feld contains the
type of backhaul
allowance that will be
applied to the order.
backhaulTypeDescripti
on
NoString (250)This feld contains the
description of the
backhaul type.
backhaulAllowanceNoNumber(20,4)This feld contains the
backhaul allowance
value.
shipMethodNoString (6)This feld contains the
method used to ship
the items on the
purchase order from
the country of origin
to the country of
import.
shipMethodDescriptio
n
NoString (250)This feld contains the
description for the
shipping method.
purchaseTypeNoString (6)This feld indicates
what is included in the
supplier’s cost of the
item.
purchaseTypeDescripti
on
NoString (250)This feld contains the
description for the
purchase type.
shipPayMethodNoString (2)This feld contains the
code indicating the
payment terms for
freight charges
associated with the
order.
shipPayMethodDescrip
tion
NoString (250)This feld contains the
description of the
given shipment
payment method.
fobTransactionRespon
sibility
NoString (2)This feld contains the
code indicating the
type of the location
that is responsible for
the transportation of
the order.
fobTransactionRespon
sibilityCodeDescriptio
n
NoString (250)This feld contains the
description of the FOB
transaction
responsibility code.

Table 5-1204 (Cont.) MerchApiOrder - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fobTransactionRespon
sibilityDescription
NoString (250)This feld contains a
user-entered feld
describing the code for
the location
responsible for the
transportation of the
order.
fobTitlePassNoString (2)This feld contains an
indicator used to
determine where the
title for goods is
passed from the
vendor to the
purchaser. Examples
include city, factory, or
origin.
fobTitlePassCodeDescr
iption
NoString (250)This feld contains the
description of the FOB
title pass code.
fobTitlePassDescriptio
n
NoString (250)This feld contains a
user-entered feld
describing the code
where the title of the
merchandise is to be
passed. It could be a
city name, factory
name, or place of
origin.
vendorOrderNoNoString (15)This feld contains the
vendor’s unique
identifying number for
an order. These orders
may have originated
by the vendor through
the EDI process or this
number can be
associated with a
Merchandising order
when the order is
created online.
exchangeRateNoNumber(20,10)This feld contains the
rate of exchange used
for the purchase order
between the order and
primary currencies.
factoryNoString (10)This feld contains the
factory at which the
items on the purchase
order are made. This
feld is only available
when the system is
running Import
functionality.

Table 5-1204 (Cont.) MerchApiOrder - Object. See list of elements for detail

Element NameRequiredData TypeDescription
factoryDescriptionNoString (240)This feld contains the
description of the
factory.
agentNoString (10)This feld contains the
agent that is used in
the purchase of the
items on the purchase
order. This feld is only
available when the
system is running
Import functionality.
agentDescNoString (240)This feld contains the
description of the
agent.
dischargePortNoString (5)This feld contains the
port at which the
items on the purchase
order will enter the
country of import. This
feld is only available
when the system is
running Import
functionality.
dischargePortDescripti
on
NoString (150)This feld contains the
description of the
discharge port.
ladingPortNoString (5)This feld contains the
port from which the
items on the purchase
order are shipped.
This feld is only
available when the
system is running
Import functionality.
ladingPortDescriptionNoString (150)This feld contains the
description of the
lading port.
freightContractNoNoString (10)This feld contains the
number of the contract
with a shipper that
will give specifc
freight rates. This feld
is only available when
the system is running
Import functionality.
poTypeNoString (4)This feld contains the
value associated with
the PO_TYPE for the
order. Valid values are
in the PO_TYPE table.

Table 5-1204 (Cont.) MerchApiOrder - Object. See list of elements for detail

Element NameRequiredData TypeDescription
poTypeDescriptionNoString (120)This feld contains the
description of the PO
type.
preMarkIndNoString (1)This feld indicates
whether or not a
supplier has agreed to
break an order into
separate boxes so that
the boxes can be sent
directly to stores.
currencyCodeNoString (3)This feld contains the
currency code for the
order. When creating
an order within
Merchandising, this
feld will always
default to the currency
of the supplier, but it
can be overwritten.
contractNoNoNumber(6,0)This feld contains the
contract number
associated with this
order.
pickupLocationNoString (250)This feld contains the
location at which the
order will be picked
up, if the order is a
pickup order.
pickupNoNoString (25)This feld contains the
reference number for
the pickup order.
pickupDateNodateThis feld contains the
date when the order
can be picked up from
the supplier. This feld
is only required if the
purchase type of the
order is Pickup.
appointmentDatetimeNodateThis feld contains the
date of the receiving
appointment at the
warehouse.
commentsNoString (2000)This feld contains the
miscellaneous
comments attached to
the purchase order.
writtenDateNodateThis feld specifes the
date the order was
created within the
system.

Table 5-1204 (Cont.) MerchApiOrder - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderOriginatedIndNoNumber(2,0)This feld indicates
where the order
originated.
originalApprovalDateNodateThis feld specifes the
date that the order
was originally
approved.
originalApprovalIdNoString (254)This feld indicates
where the order was
approved. It will be
the user ID of the
person approving the
order for all orders
manually approved
online and will
contain Replen for
orders automatically
approved in the
replenishment
process.
ediSentIndNoString (1)This feld indicates
whether or not the
order has been sent
via EDI.
ediOrderIndNoString (1)This feld indicates
whether or not the
order will be
transmitted to the
supplier via an
Electronic Data
Exchange transaction.
importOrderIndNoString (1)This feld indicates if
the purchase order is
an import order.
importCountryIdNoString (3)This feld specifes the
identifer of the
country into which the
items on the order are
being imported.
partnerType1NoString (6)This feld contains
partner 1 type.
partner1NoString (10)This feld contains
additional partner 1.
partnerType2NoString (6)This feld contains
partner 2 type.
partner2NoString (10)This feld contains
additional partner 2.
partnerType3NoString (6)This feld contains
partner 3 type.

Table 5-1204 (Cont.) MerchApiOrder - Object. See list of elements for detail

Element NameRequiredData TypeDescription
partner3NoString (10)This feld contains
additional partner 3.
importTypeNoString (1)This feld specifes the
importer/exporter
assigned to the
supplier of the
purchase order.
importIdNoNumber(10,0)This feld identifes the
importer/exporter
assigned to the
supplier. This should
reference the WH.WH
column.
clearingZoneIdNoString (5)This feld contains the
clearing zone ID.
routingLocationIdNoString (5)This feld contains the
routing location for
the import order.
deliverySupplierNoNumber(10,0)This feld holds the
supplier or supplier
site from where the
goods are delivered.
wfOrderNoNoNumber(10,0)This feld contains the
franchise order
number for which the
purchase order was
created.
exchangeRateIndNoString (1)This feld contains the
exchange rate
indicator on a
document.
customerOrderNoNoString (48)This feld holds the
master customer order
number from the
Order Management
System.
fullfllmentOrderNoNoString (48)This feld holds the
number from the
Order Management
System (OMS) related
to the fulfllment
details. One or more
fulfllment orders
could relate back to a
single customer order
in OMS.
customerOrderIndNoString (1)This feld indicates
whether the purchase
order is linked to a
customer order.

Table 5-1204 (Cont.) MerchApiOrder - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis column holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis column holds the
date and time when
the record was last
updated (UTC).
customFlexAttributeNoCollection of ObjectThis list holds custom
fex attributes for the
purchase order.
detailsNoCollection of ObjectThis list holds details
for the purchase
order.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the record was fetched
into the cache for web
service publication
(UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1205 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-1206 OrderDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemNoString (25)This feld contains the
unique alphanumeric
value to identify the
item included in the
purchase order.
referenceItemNoString (25)This feld contains the
unique alphanumeric
value to identify the
reference item.
physicalLocationTypeNoString (1)This feld contains the
type of location in the
location feld.
physicalLocationNoNumber(10,0)This feld contains the
actual physical
location that the item
will be ordered to. This
feld may contain a
store or a physical
warehouse.
virtualWarehouseNoNumber(10,0)This feld contains the
virtual warehouse for
the order location
when the physical
location type is
warehouse.
physicalStoreTypeNoString (6)This feld indicates the
store type of the
physical location store.
This is only populated
if physical location
type is store.
physicalStockholdingI
nd
NoString (1)This feld indicates
whether the physical
location store is
stockholding or not.
physicalQuantityOrder
ed
NoNumber(12,4)This feld indicates the
total quantity ordered
to the physical
location.
unitCostNoNumber(20,4)This feld contains the
unit cost for the item/
location on the order,
including discounts
(deal/bracket/
allowance), but not
landed cost
components. This feld
is stored in order
currency.

Table 5-1206 (Cont.) OrderDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierInitialUnitCostNoNumber(20,4)Initial supplier unit
cost of the item/
location on the order,
before deals were
applied. When
discounts must be
recalculated on an
approved order, this
cost will be used as the
starting point. This
value is captured as
the current item/
location/supplier/
origin country cost at
the time of order
approval.
unitRetailNoNumber(20,4)This feld contains the
current retail price in
local currency for the
SKU at this location.
prescaledQuantityNoNumber(12,4)This feld contains the
order quantity (system
generated or manually
generated) for the
item/location before
order scaling
processing was
performed.
originalReplenishment
Quantity
NoNumber(12,4)This feld contains the
original order quantity
generated by the
replenishment
process.
costSourceNoString (4)This feld indicates the
basis for the cost of the
item/location on the
order and whether
deals or brackets have
been applied.
lastRoundedQuantityNoNumber(12,4)This feld holds the
most recent system
rounded order
quantity value for the
line item.
lastGroupRoundedQua
ntity
NoNumber(12,4)This feld holds the last
system rounded order
quantity for the
rounding group the
location is a part of.

Table 5-1206 (Cont.) OrderDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
originCountryIdNoString (3)This feld contains the
identifer of the
country from which
the item is being
sourced.
supplierPackSizeNoNumber(12,4)This feld contains the
supplier pack size for
this order/item.
earliestShipDateNodateThis feld contains the
earliest date that the
item can be shipped by
the supplier.
latestShipDateNodateThis feld contains the
date after which the
item can not be
shipped by the
supplier.
pickupLocationNoString (250)This feld contains the
location at which the
order will be picked
up, if the order is a
pickup order.
pickupNoNoString (25)This feld is not used in
Merchandising.
packingMethodNoString (6)This feld indicates
whether the packing
method of the item in
the container is fat or
hanging. Valid values
are defned under
code type PKMT.
roundLevelNoString (6)This feld will be used
to determine how
order quantities will
be rounded to case,
layer, and pallet.
transferOrderLinkIdNoNumber(12,0)This feld contains a
reference number to
link the item on the
transfer to any
purchase orders that
have been created to
allow the from
location (i.e.
warehouse) on the
transfer to fulfll the
transfer quantity to
the to location (i.e.
store) on the transfer.

Table 5-1206 (Cont.) OrderDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
estimatedInStockDateNodateThis feld contains the
date that the item on
the PO is expected to
be available to ship
from the PO location
to another location.
transactionUomNoString (4)This feld holds the
original transaction
unit of measure to be
passed on to the store
system. It is only used
for customer direct
orders coming from
the order management
system. All quantities
on the payload are
expressed in the item’s
standard unit of
measure.
itemLineNoNoNumber(10,0)This feld indicates the
item line number from
customer orders.
orderItemCreateDateT
ime
NodateTimeThis column holds the
record order detail
item creation date and
time (UTC).
orderItemUpdateDate
Time
NodateTimeThis column holds the
date and time when
the order detail item
was last updated
(UTC).
orderItemLocCreateDa
teTime
NodateTimeThis column holds the
record order detail
item location creation
date and time (UTC).
orderItemLocUpdateD
ateTime
NodateTimeThis column holds the
date and time when
the order detail item
location was last
updated (UTC).
orderItemCustomFlex
Attribute
NoCollection of ObjectThis list holds custom
fex attributes for
purchase order item
details.
orderItemLocationCus
tomFlexAttribute
NoCollection of ObjectThis list holds custom
fex attributes for
purchase order item
location details.

Table 5-1207 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"docType": "P",
"orderNo": 464690012,
"status": "A",
"orderType": "N/B",
"orderTypeDescription": null,
"dept": 1,
"deptName": null,
"buyer": 1000,
"buyerName": null,
"supplier": 2400,
"promotion": 41,
"promotionDescription": null,
"qualityControlInd": "Y",
"notBeforeDate": "2001-12-31",
"notAfterDate": "2001-12-31",
"otbEowDate": "2001-12-31",
"earliestShipDate": "2001-12-31",
"latestShipDate": "2001-12-31",
"closeDate": "2001-12-31",
"terms": "02",
"termsCode": null,
"freightTerms": "03",
"paymentMethod": "LC",
"paymentMethodDescription": null,
"backhaulType": null,
"backhaulTypeDescription": null,
"backhaulAllowance": 1.0,
"shipMethod": "32",
"shipMethodDescription": null,
"purchaseType": "FOB",
"purchaseTypeDescription": null,
"shipPayMethod": "PO",
"shipPayMethodDescription": null,
"fobTransactionResponsibility": "CA",
"fobTransactionResponsibilityCodeDescription": null,
"fobTransactionResponsibilityDescription": "US",
"fobTitlePass": "CC",
"fobTitlePassCodeDescription": null,
"fobTitlePassDescription": "US",
"vendorOrderNo": "9987001",
"exchangeRate": 2,
"factory": "100",
"factoryDescription": null,
"agent": "007",
"agentDesc": null,
"dischargePort": "480",
"dischargePortDescription": null,
"ladingPort": "7",
"ladingPortDescription": null,
"freightContractNo": "111",
"poType": "4000",
"poTypeDescription": null,
"preMarkInd": "Y",
"currencyCode": "USD",
"contractNo": 1,
"pickupLocation": null,
"pickupNo": null,
"pickupDate": "2001-12-31",
"appointmentDatetime": "2001-12-31",
"comments": "Create Order",
"writtenDate": "2001-12-31",
"orderOriginatedInd": 2,
"originalApprovalDate": "2001-12-31",
"originalApprovalId": null,
"ediSentInd": null,
"ediOrderInd": "Y",
"importOrderInd": null,
"importCountryId": "US",
"partnerType1": "AG",
"partner1": "007",
"partnerType2": "E",
"partner2": "4678",
"partnerType3": null,
"partner3": null,
"importType": "W",
"importId": 10001,
"clearingZoneId": null,
"routingLocationId": null,
"deliverySupplier": 1,
"wfOrderNo": 1,
"exchangeRateInd": null,
"customerOrderNo": null,
"fullfillmentOrderNo": null,
"customerOrderInd": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"details": [
{
"item": "103900095",
"referenceItem": null,
"physicalLocationType": "W",
"physicalLocation": 6000,
"virtualWarehouse": 1,
"physicalStoreType": null,
"physicalStockholdingInd": null,
"physicalQuantityOrdered": 25,
"unitCost": 45.2,
"supplierInitialUnitCost": 1.0,
"unitRetail": 1.0,
"prescaledQuantity": 1.0,
"originalReplenishmentQuantity": 1.0,
"costSource": null,
"lastRoundedQuantity": 1.0,
"lastGroupRoundedQuantity": 1.0,
"originCountryId": "IN",
"supplierPackSize": 1,
"earliestShipDate": "2001-12-31",
"latestShipDate": "2001-12-31",
"pickupLocation": null,
"pickupNo": null,
"packingMethod": null,
"roundLevel": null,
"transferOrderLinkId": 1,
"estimatedInStockDate": "2001-12-31",
"transactionUom": null,
"itemLineNo": 1,
"orderItemCreateDateTime": "2001-12-31T23:59:59.000Z",
"orderItemUpdateDateTime": "2001-12-31T23:59:59.000Z",
"orderItemLocCreateDateTime": "2001-12-31T23:59:59.000Z",
"orderItemLocUpdateDateTime": "2001-12-31T23:59:59.000Z",
"orderItemCustomFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"orderItemLocationCustomFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
],
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ORDHEADYesNoNoNo
ORDHEAD_CFA_EXTYesNoNoNo
ORDSKU_CFA_EXTYesNoNoNo
ORDLOC_CFA_EXTYesNoNoNo
MERCHAPI_EXT_ORDERYesYesYesYes
V_MERCHAPI_EXT_ORDER_JSONYesNoNoNo
ICL_RMS_ORDERYesNoYesYes

Get Purchase Order Details by Order Number

Endpoints
MerchIntegrations/services/procurement/order
MerchIntegrations/services/procurement/order/{orderNo}
Functional Area

Purchase Orders

Business Overview

This service publishes external purchase orders to downstream consuming systems. The payload includes order header and line-location detail, along with supplier-sourcing, location, and customer-order enrichment. The JSON view returns orders only when ORDHEAD.STATUS is A, W, S, or C, ORDHEAD.ORIG_APPROVAL_DATE is not null, and ORDHEAD.ORDER_TYPE <> ‘DSD’, so DSD orders and orders that have never crossed an approval event are not included. Worksheet and submitted statuses can appear in the payload only after the order has already been approved at least once, and orderLocationType is derived as S, W, or SW depending on whether the order locations are stores, warehouses, or a mix of both.

The publication for order based on order detail line is only when unit cost or estimated in stock date or quantity ordered is changed. This service will not publish orders when shipping or receiving of the order has started.

Technical Details

This service follows the Publish API cache architecture in which the REST service serves pregenerated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview .

Core business tables: ORDHEAD, ORDLOC

Additional business tables: ORDSKU, ORDCUST, ORDCUST_DETAIL, ITEM_SUPP_COUNTRY, STORE, WH, DEPS, BUYER, RPM_PROMO, CODE_DETAIL, V_TERMS_HEAD_TL, PO_TYPE, V_PARTNER_TL, V_OUTLOC_TL, ORDHEAD_CFA_EXT, ORDSKU_CFA_EXT, ORDLOC_CFA_EXT

JSON cache table: MERCHAPI_EXT_ORDER

JSON generation view: V_MERCHAPI_EXT_ORDER_JSON

Builds the header from ORDHEAD, the detail array from ORDLOC and ORDSKU, OMS linkage from ORDCUST and ORDCUST_DETAIL, item-supplier sourcing attributes from ITEM_SUPP_COUNTRY, location enrichment from WH and STORE, descriptive lookup values from DEPS, BUYER, RPM_PROMO, CODE_DETAIL, V_TERMS_HEAD_TL, PO_TYPE, V_PARTNER_TL, and V_OUTLOC_TL, and header, item, and item-location custom flex attributes from MERCHAPI_EXT_ORDER_CFA, MERCHAPI_EXT_ORDER_ITEM_CFA, and MERCHAPI_EXT_ORD_ITEM_LOC_CFA.

The view only publishes orders where ORDHEAD.STATUS is one of A, W, S, or C, ORDHEAD.ORIG_APPROVAL_DATE is not null, and ORDHEAD.ORDER_TYPE <> ‘DSD’.

This means DSD orders and orders that have never crossed an approval event are not returned, even though worksheet and submitted statuses can still appear later in the payload after the order has already been approved once.

Initial Seeding and post enablement rebuild/repair

Initial seeding and rebuild pull published rows from V_MERCHAPI_EXT_ORDER_JSON. No additional filter criteria were identified beyond the cache-build logic.

Mark cache rows deleted when the order no longer exists in V_MERCHAPI_EXT_ORDER_JSON.

ICL (Integration Change Log) table: ICL_RMS_ORDER (ICL consumer name = MERCHAPI)

ICL entries are created using triggers on ORDHEAD, ORDLOC, ORDHEAD_CFA_EXT, ORDLOC_CFA_EXT, and ORDSKU_CFA_EXT.

Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.

Process configuration name: API_EXT_ORDER

To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.

POM Batch schedule process and job: MERCHAPI_DELTA_EXT_ORDER_ADHOC_PROCESS MERCHAPI_EXT_ORDER_ADHOC_JOB

Webhook configuration api name: procurement/order

Special handling

Additional GET query parameters: supplier, orderOriginatedInd, notBeforeDate, notAfterDate, importOrderInd, locType.

These filters are not backed by dedicated cache-table indexes. At high volume, use them only as additional criteria on top of a small-window delta fetch and not for full downloads.

Performance Considerations

For customers expecting high to very high publish volume from this API, sizing and operational tuning should be addressed early in the implementation lifecycle. Initial cache seeding, ongoing delta processing, full extracts, and incremental downloads or webhook-driven delivery have different runtime characteristics and should be evaluated separately. The available configuration for this service should therefore be reviewed and validated against the customer’s projected production data profile, including expected volume, message size, and access pattern, with the key performance-related configuration for this service covering the following:

Multi-threading and commit control

This service supports multi-threaded execution for both initial seeding and delta processing. Thread count is controlled through API_NO_OF_THREADS, and commit sizing is controlled through API_COMMIT_MAX_COUNTER.

For initial seeding, thread and commit settings should be chosen together based on expected row volume, average message size, and the complex SQL query required to build the message from multiple base and supporting tables. Common starting points for large-volume seeding are 8, 16, or 32 threads. Values of 48 or 64 threads should be considered only after testing and with awareness of competing workload in the environment.

API_COMMIT_MAX_COUNTER should be sized together with the thread setting. Typical values can range from about 100 to 1,000 rows, with higher values such as 10,000 used in some cases after testing. Where payloads are larger or the source SQL is heavier because of the number of contributing tables, a lower thread count with a higher commit value may perform better.

For delta processing, the same parameters apply. The seeding commit setting is usually a reasonable starting point, but where qualifying business events can create short-term spikes, the commit value may need to remain on the lower side so backlog drains in smaller units of work.

Dropping indexes and constraints during seeding

This option applies only to initial seeding, including truncate-and-load execution. When thread and commit settings are high, concurrent inserts can increase index maintenance overhead and slow the load.

To reduce that overhead, DROP_INDEX_ON_REFRESH can be enabled so indexes and constraints are dropped before seeding and rebuilt after the load completes.

This can improve data-load throughput, but the overall refresh plan should also account for the additional time needed for index rebuild after the seeding step finishes. GATHER_STATS_ON_REFRESH should normally remain enabled unless testing shows a need to change it.

REST fetch considerations

REST page size should be selected based on average message size so that the average response remains below about 10 MB per call. Common page-limit values are 500, 1,000, 5,000, or 10,000 rows, and very small limits, especially below 100, should generally be avoided.

For full downloads, do not provide the since query parameter so the database can favor the primary-key access path. For delta downloads, use a small time window, typically a few minutes and at most a few hours, so the eligible row set on the LAST_UPDATE_DATETIME index remains small.

Wider delta windows, especially multi-day windows that can arise during outages or data recovery, generally do not perform well. For such scenarios, keeping BUILD_HISTOGRAM enabled allows the service to support recovery through smaller, more selective polling windows using the optimalBefore query parameter.

In this catch-up pattern, for requests up to 30 days in the past, the client provides optimalBefore and leaves before empty. The client then uses the returned before timestamp to continue polling incrementally until the backlog is cleared, and then resumes the normal shortwindow delta pattern. Hourly histogram processing groups LAST_UPDATE_DATETIME values into buckets of 10,000 rows in MERCHAPI_TIMESTAMP_HISTOGRAM using the shared HISTOGRAM_ROW_COUNT configuration.

Service Type

GET

ReST URL

MerchIntegrations/services/procurement/order

MerchIntegrations/services/procurement/order/{orderNo}

Input Parameters
Parameter NameRequiredData TypeDescription
sinceNoStringSince Date (Example:
2010-12-31T23:59:59.99
9Z)
beforeNoStringBefore Date (Example:
2040-12-31T23:59:59.99
9Z)
Parameter NameRequiredData TypeDescription
supplierNoString (10)Supplier
orderOriginatedIndNoNumberOrder Orginated
Indicator
notBeforeDateNoStringNot Before Date
(Example: 2023-12-31)
notAfterDateNoStringNot After Date
(Example: 2023-12-31)
importOrderIndNoStringImport Order
Indicator - must be Y
or N
locTypeNoStringOrder Location Type -
must be S, W or SW
offsetkeyNoString (12)Offset key (Order
Number)
limitNoString (6)Pagination limit.
Default value is 1000.
optimalBeforeNoStringEnables histogram-
based calculation of
the before timestamp
when before is not
provided. Valid values
are Y or N. Default
value is N.
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Table 5-1208 Input Parameter for “MerchIntegrations/services/procurement/order/ {orderNo}“

Parameter NameRequiredData TypeDescription
orderNoYesNumber
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)

Table 5-1208 (Cont.) Input Parameter for “MerchIntegrations/services/procurement/ order/{orderNo}“

Parameter NameRequiredData TypeDescription
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)
Output

Table 5-1209 PageResultsItemsMerchApiOrder - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count for
pagination supported
request
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1210 MerchApiOrder - Object. See list of elements for detail

Element NameRequiredData TypeDescription
actionNoString (6)Action for purchase
order details.
docTypeNoString (1)This feld indicates the
type of document this
message is for. Valid
value is P for purchase
order.
orderNoNoNumber(12,0)This feld contains the
number to uniquely
identify an order
within the system.

Table 5-1210 (Cont.) MerchApiOrder - Object. See list of elements for detail

Element NameRequiredData TypeDescription
statusNoString (1)This feld indicates the
current status of the
order.
orderTypeNoString (3)This feld indicates the
type of order.
orderTypeDescriptionNoString (250)This feld contains the
order type description.
deptNoNumber(4,0)This feld contains the
department number
for orders limited to a
single department and
will be null for orders
involving items in
more than one
department.
deptNameNoString (120)This feld contains the
name of the
department.
buyerNoNumber(4,0)This feld contains the
number associated
with the buyer for the
order.
buyerNameNoString (120)This feld contains the
name of the
authorized buyer.
supplierNoNumber(10,0)This feld contains the
vendor number who
will provide the
merchandise specifed
in the order.
promotionNoNumber(10,0)This feld contains the
promotion number
associated with the
order to provide a link
between the order
dialog and the
promotions dialog.
promotionDescriptionNoString (1000)This feld contains a
description of the
promotion. This value
comes from Pricing.
qualityControlIndNoString (1)This feld determines
whether or not quality
control will be
required when items
for this order are
received.
notBeforeDateNodateThis feld contains the
frst date that delivery
of the order will be
accepted.

Table 5-1210 (Cont.) MerchApiOrder - Object. See list of elements for detail

Element NameRequiredData TypeDescription
notAfterDateNodateThis feld contains the
last date that delivery
of the order will be
accepted.
otbEowDateNodateThis feld contains the
OTB budget bucket the
order amount should
be placed into.
earliestShipDateNodateThis feld contains the
earliest date when the
items on the purchase
order can be shipped
by the supplier. This
represents the earliest
ship date of all the
items on the order.
latestShipDateNodateThis feld contains the
date after which the
items on the purchase
order can no longer be
shipped by the
supplier. This
represents the greatest
latest ship date of all
the items on the order.
closeDateNodateThis feld contains the
date when the order is
closed.
termsNoString (15)This feld is an
indicator identifying
the sales terms for the
order. These terms
specify when payment
is due and if any
discounts exist for
early payment.
termsCodeNoString (240)This feld contains the
description associated
with the terms code.
freightTermsNoString (30)This feld contains an
indicator that
references what
freight terms are
related to the order.
Valid values are in the
FREIGHT_TERMS
table.
paymentMethodNoString (6)This feld indicates
how the purchase
order will be paid.

Table 5-1210 (Cont.) MerchApiOrder - Object. See list of elements for detail

Element NameRequiredData TypeDescription
paymentMethodDescri
ption
NoString (250)This feld contains the
description of the
payment method.
backhaulTypeNoString (6)This feld contains the
type of backhaul
allowance that will be
applied to the order.
backhaulTypeDescripti
on
NoString (250)This feld contains the
description of the
backhaul type.
backhaulAllowanceNoNumber(20,4)This feld contains the
backhaul allowance
value.
shipMethodNoString (6)This feld contains the
method used to ship
the items on the
purchase order from
the country of origin
to the country of
import.
shipMethodDescriptio
n
NoString (250)This feld contains the
description for the
shipping method.
purchaseTypeNoString (6)This feld indicates
what is included in the
supplier’s cost of the
item.
purchaseTypeDescripti
on
NoString (250)This feld contains the
description for the
purchase type.
shipPayMethodNoString (2)This feld contains the
code indicating the
payment terms for
freight charges
associated with the
order.
shipPayMethodDescrip
tion
NoString (250)This feld contains the
description of the
given shipment
payment method.
fobTransactionRespon
sibility
NoString (2)This feld contains the
code indicating the
type of the location
that is responsible for
the transportation of
the order.
fobTransactionRespon
sibilityCodeDescriptio
n
NoString (250)This feld contains the
description of the FOB
transaction
responsibility code.

Table 5-1210 (Cont.) MerchApiOrder - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fobTransactionRespon
sibilityDescription
NoString (250)This feld contains a
user-entered feld
describing the code for
the location
responsible for the
transportation of the
order.
fobTitlePassNoString (2)This feld contains an
indicator used to
determine where the
title for goods is
passed from the
vendor to the
purchaser. Examples
include city, factory, or
origin.
fobTitlePassCodeDescr
iption
NoString (250)This feld contains the
description of the FOB
title pass code.
fobTitlePassDescriptio
n
NoString (250)This feld contains a
user-entered feld
describing the code
where the title of the
merchandise is to be
passed. It could be a
city name, factory
name, or place of
origin.
vendorOrderNoNoString (15)This feld contains the
vendor’s unique
identifying number for
an order. These orders
may have originated
by the vendor through
the EDI process or this
number can be
associated with a
Merchandising order
when the order is
created online.
exchangeRateNoNumber(20,10)This feld contains the
rate of exchange used
for the purchase order
between the order and
primary currencies.
factoryNoString (10)This feld contains the
factory at which the
items on the purchase
order are made. This
feld is only available
when the system is
running Import
functionality.

Table 5-1210 (Cont.) MerchApiOrder - Object. See list of elements for detail

Element NameRequiredData TypeDescription
factoryDescriptionNoString (240)This feld contains the
description of the
factory.
agentNoString (10)This feld contains the
agent that is used in
the purchase of the
items on the purchase
order. This feld is only
available when the
system is running
Import functionality.
agentDescNoString (240)This feld contains the
description of the
agent.
dischargePortNoString (5)This feld contains the
port at which the
items on the purchase
order will enter the
country of import. This
feld is only available
when the system is
running Import
functionality.
dischargePortDescripti
on
NoString (150)This feld contains the
description of the
discharge port.
ladingPortNoString (5)This feld contains the
port from which the
items on the purchase
order are shipped.
This feld is only
available when the
system is running
Import functionality.
ladingPortDescriptionNoString (150)This feld contains the
description of the
lading port.
freightContractNoNoString (10)This feld contains the
number of the contract
with a shipper that
will give specifc
freight rates. This feld
is only available when
the system is running
Import functionality.
poTypeNoString (4)This feld contains the
value associated with
the PO_TYPE for the
order. Valid values are
in the PO_TYPE table.

Table 5-1210 (Cont.) MerchApiOrder - Object. See list of elements for detail

Element NameRequiredData TypeDescription
poTypeDescriptionNoString (120)This feld contains the
description of the PO
type.
preMarkIndNoString (1)This feld indicates
whether or not a
supplier has agreed to
break an order into
separate boxes so that
the boxes can be sent
directly to stores.
currencyCodeNoString (3)This feld contains the
currency code for the
order. When creating
an order within
Merchandising, this
feld will always
default to the currency
of the supplier, but it
can be overwritten.
contractNoNoNumber(6,0)This feld contains the
contract number
associated with this
order.
pickupLocationNoString (250)This feld contains the
location at which the
order will be picked
up, if the order is a
pickup order.
pickupNoNoString (25)This feld contains the
reference number for
the pickup order.
pickupDateNodateThis feld contains the
date when the order
can be picked up from
the supplier. This feld
is only required if the
purchase type of the
order is Pickup.
appointmentDatetimeNodateThis feld contains the
date of the receiving
appointment at the
warehouse.
commentsNoString (2000)This feld contains the
miscellaneous
comments attached to
the purchase order.
writtenDateNodateThis feld specifes the
date the order was
created within the
system.

Table 5-1210 (Cont.) MerchApiOrder - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderOriginatedIndNoNumber(2,0)This feld indicates
where the order
originated.
originalApprovalDateNodateThis feld specifes the
date that the order
was originally
approved.
originalApprovalIdNoString (254)This feld indicates
where the order was
approved. It will be
the user ID of the
person approving the
order for all orders
manually approved
online and will
contain Replen for
orders automatically
approved in the
replenishment
process.
ediSentIndNoString (1)This feld indicates
whether or not the
order has been sent
via EDI.
ediOrderIndNoString (1)This feld indicates
whether or not the
order will be
transmitted to the
supplier via an
Electronic Data
Exchange transaction.
importOrderIndNoString (1)This feld indicates if
the purchase order is
an import order.
importCountryIdNoString (3)This feld specifes the
identifer of the
country into which the
items on the order are
being imported.
partnerType1NoString (6)This feld contains
partner 1 type.
partner1NoString (10)This feld contains
additional partner 1.
partnerType2NoString (6)This feld contains
partner 2 type.
partner2NoString (10)This feld contains
additional partner 2.
partnerType3NoString (6)This feld contains
partner 3 type.

Table 5-1210 (Cont.) MerchApiOrder - Object. See list of elements for detail

Element NameRequiredData TypeDescription
partner3NoString (10)This feld contains
additional partner 3.
importTypeNoString (1)This feld specifes the
importer/exporter
assigned to the
supplier of the
purchase order.
importIdNoNumber(10,0)This feld identifes the
importer/exporter
assigned to the
supplier. This should
reference the WH.WH
column.
clearingZoneIdNoString (5)This feld contains the
clearing zone ID.
routingLocationIdNoString (5)This feld contains the
routing location for
the import order.
deliverySupplierNoNumber(10,0)This feld holds the
supplier or supplier
site from where the
goods are delivered.
wfOrderNoNoNumber(10,0)This feld contains the
franchise order
number for which the
purchase order was
created.
exchangeRateIndNoString (1)This feld contains the
exchange rate
indicator on a
document.
customerOrderNoNoString (48)This feld holds the
master customer order
number from the
Order Management
System.
fullfllmentOrderNoNoString (48)This feld holds the
number from the
Order Management
System (OMS) related
to the fulfllment
details. One or more
fulfllment orders
could relate back to a
single customer order
in OMS.
customerOrderIndNoString (1)This feld indicates
whether the purchase
order is linked to a
customer order.

Table 5-1210 (Cont.) MerchApiOrder - Object. See list of elements for detail

Element NameRequiredData TypeDescription
createDateTimeNodateTimeThis column holds the
record creation date
and time (UTC).
updateDateTimeNodateTimeThis column holds the
date and time when
the record was last
updated (UTC).
customFlexAttributeNoCollection of ObjectThis list holds custom
fex attributes for the
purchase order.
detailsNoCollection of ObjectThis list holds details
for the purchase
order.
cacheTimestampNodateTimeThis feld specifes the
date and time when
the record was fetched
into the cache for web
service publication
(UTC).
cacheCreateTimestam
p
NodateTimeThis feld specifes the
date and time when
the record was frst
created for web
service publication
(UTC).

Table 5-1211 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameNoString (30)This feld holds the
custom fex attribute
name.
valueNoString (250)This feld holds the
numeric or character
value of the custom
fex attribute.
valueDateNodateThis feld holds the
date value of the
custom fex attribute.
createDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was created
(UTC).
updateDateTimeNodateTimeThis feld holds the
date and time when
the custom fex
attribute was last
updated (UTC).

Table 5-1212 OrderDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemNoString (25)This feld contains the
unique alphanumeric
value to identify the
item included in the
purchase order.
referenceItemNoString (25)This feld contains the
unique alphanumeric
value to identify the
reference item.
physicalLocationTypeNoString (1)This feld contains the
type of location in the
location feld.
physicalLocationNoNumber(10,0)This feld contains the
actual physical
location that the item
will be ordered to. This
feld may contain a
store or a physical
warehouse.
virtualWarehouseNoNumber(10,0)This feld contains the
virtual warehouse for
the order location
when the physical
location type is
warehouse.
physicalStoreTypeNoString (6)This feld indicates the
store type of the
physical location store.
This is only populated
if physical location
type is store.
physicalStockholdingI
nd
NoString (1)This feld indicates
whether the physical
location store is
stockholding or not.
physicalQuantityOrder
ed
NoNumber(12,4)This feld indicates the
total quantity ordered
to the physical
location.
unitCostNoNumber(20,4)This feld contains the
unit cost for the item/
location on the order,
including discounts
(deal/bracket/
allowance), but not
landed cost
components. This feld
is stored in order
currency.

Table 5-1212 (Cont.) OrderDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierInitialUnitCostNoNumber(20,4)Initial supplier unit
cost of the item/
location on the order,
before deals were
applied. When
discounts must be
recalculated on an
approved order, this
cost will be used as the
starting point. This
value is captured as
the current item/
location/supplier/
origin country cost at
the time of order
approval.
unitRetailNoNumber(20,4)This feld contains the
current retail price in
local currency for the
SKU at this location.
prescaledQuantityNoNumber(12,4)This feld contains the
order quantity (system
generated or manually
generated) for the
item/location before
order scaling
processing was
performed.
originalReplenishment
Quantity
NoNumber(12,4)This feld contains the
original order quantity
generated by the
replenishment
process.
costSourceNoString (4)This feld indicates the
basis for the cost of the
item/location on the
order and whether
deals or brackets have
been applied.
lastRoundedQuantityNoNumber(12,4)This feld holds the
most recent system
rounded order
quantity value for the
line item.
lastGroupRoundedQua
ntity
NoNumber(12,4)This feld holds the last
system rounded order
quantity for the
rounding group the
location is a part of.

Table 5-1212 (Cont.) OrderDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
originCountryIdNoString (3)This feld contains the
identifer of the
country from which
the item is being
sourced.
supplierPackSizeNoNumber(12,4)This feld contains the
supplier pack size for
this order/item.
earliestShipDateNodateThis feld contains the
earliest date that the
item can be shipped by
the supplier.
latestShipDateNodateThis feld contains the
date after which the
item can not be
shipped by the
supplier.
pickupLocationNoString (250)This feld contains the
location at which the
order will be picked
up, if the order is a
pickup order.
pickupNoNoString (25)This feld is not used in
Merchandising.
packingMethodNoString (6)This feld indicates
whether the packing
method of the item in
the container is fat or
hanging. Valid values
are defned under
code type PKMT.
roundLevelNoString (6)This feld will be used
to determine how
order quantities will
be rounded to case,
layer, and pallet.
transferOrderLinkIdNoNumber(12,0)This feld contains a
reference number to
link the item on the
transfer to any
purchase orders that
have been created to
allow the from
location (i.e.
warehouse) on the
transfer to fulfll the
transfer quantity to
the to location (i.e.
store) on the transfer.

Table 5-1212 (Cont.) OrderDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
estimatedInStockDateNodateThis feld contains the
date that the item on
the PO is expected to
be available to ship
from the PO location
to another location.
transactionUomNoString (4)This feld holds the
original transaction
unit of measure to be
passed on to the store
system. It is only used
for customer direct
orders coming from
the order management
system. All quantities
on the payload are
expressed in the item’s
standard unit of
measure.
itemLineNoNoNumber(10,0)This feld indicates the
item line number from
customer orders.
orderItemCreateDateT
ime
NodateTimeThis column holds the
record order detail
item creation date and
time (UTC).
orderItemUpdateDate
Time
NodateTimeThis column holds the
date and time when
the order detail item
was last updated
(UTC).
orderItemLocCreateDa
teTime
NodateTimeThis column holds the
record order detail
item location creation
date and time (UTC).
orderItemLocUpdateD
ateTime
NodateTimeThis column holds the
date and time when
the order detail item
location was last
updated (UTC).
orderItemCustomFlex
Attribute
NoCollection of ObjectThis list holds custom
fex attributes for
purchase order item
details.
orderItemLocationCus
tomFlexAttribute
NoCollection of ObjectThis list holds custom
fex attributes for
purchase order item
location details.

Table 5-1213 LinkItems - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetch and contains the
offsetkey which
uniquely identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"action": "INSERT",
"docType": "P",
"orderNo": 464690012,
"status": "A",
"orderType": "N/B",
"orderTypeDescription": null,
"dept": 1,
"deptName": null,
"buyer": 1000,
"buyerName": null,
"supplier": 2400,
"promotion": 41,
"promotionDescription": null,
"qualityControlInd": "Y",
"notBeforeDate": "2001-12-31",
"notAfterDate": "2001-12-31",
"otbEowDate": "2001-12-31",
"earliestShipDate": "2001-12-31",
"latestShipDate": "2001-12-31",
"closeDate": "2001-12-31",
"terms": "02",
"termsCode": null,
"freightTerms": "03",
"paymentMethod": "LC",
"paymentMethodDescription": null,
"backhaulType": null,
"backhaulTypeDescription": null,
"backhaulAllowance": 1.0,
"shipMethod": "32",
"shipMethodDescription": null,
"purchaseType": "FOB",
"purchaseTypeDescription": null,
"shipPayMethod": "PO",
"shipPayMethodDescription": null,
"fobTransactionResponsibility": "CA",
"fobTransactionResponsibilityCodeDescription": null,
"fobTransactionResponsibilityDescription": "US",
"fobTitlePass": "CC",
"fobTitlePassCodeDescription": null,
"fobTitlePassDescription": "US",
"vendorOrderNo": "9987001",
"exchangeRate": 2,
"factory": "100",
"factoryDescription": null,
"agent": "007",
"agentDesc": null,
"dischargePort": "480",
"dischargePortDescription": null,
"ladingPort": "7",
"ladingPortDescription": null,
"freightContractNo": "111",
"poType": "4000",
"poTypeDescription": null,
"preMarkInd": "Y",
"currencyCode": "USD",
"contractNo": 1,
"pickupLocation": null,
"pickupNo": null,
"pickupDate": "2001-12-31",
"appointmentDatetime": "2001-12-31",
"comments": "Create Order",
"writtenDate": "2001-12-31",
"orderOriginatedInd": 2,
"originalApprovalDate": "2001-12-31",
"originalApprovalId": null,
"ediSentInd": null,
"ediOrderInd": "Y",
"importOrderInd": null,
"importCountryId": "US",
"partnerType1": "AG",
"partner1": "007",
"partnerType2": "E",
"partner2": "4678",
"partnerType3": null,
"partner3": null,
"importType": "W",
"importId": 10001,
"clearingZoneId": null,
"routingLocationId": null,
"deliverySupplier": 1,
"wfOrderNo": 1,
"exchangeRateInd": null,
"customerOrderNo": null,
"fullfillmentOrderNo": null,
"customerOrderInd": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"details": [
{
"item": "103900095",
"referenceItem": null,
"physicalLocationType": "W",
"physicalLocation": 6000,
"virtualWarehouse": 1,
"physicalStoreType": null,
"physicalStockholdingInd": null,
"physicalQuantityOrdered": 25,
"unitCost": 45.2,
"supplierInitialUnitCost": 1.0,
"unitRetail": 1.0,
"prescaledQuantity": 1.0,
"originalReplenishmentQuantity": 1.0,
"costSource": null,
"lastRoundedQuantity": 1.0,
"lastGroupRoundedQuantity": 1.0,
"originCountryId": "IN",
"supplierPackSize": 1,
"earliestShipDate": "2001-12-31",
"latestShipDate": "2001-12-31",
"pickupLocation": null,
"pickupNo": null,
"packingMethod": null,
"roundLevel": null,
"transferOrderLinkId": 1,
"estimatedInStockDate": "2001-12-31",
"transactionUom": null,
"itemLineNo": 1,
"orderItemCreateDateTime": "2001-12-31T23:59:59.000Z",
"orderItemUpdateDateTime": "2001-12-31T23:59:59.000Z",
"orderItemLocCreateDateTime": "2001-12-31T23:59:59.000Z",
"orderItemLocUpdateDateTime": "2001-12-31T23:59:59.000Z",
"orderItemCustomFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"orderItemLocationCustomFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
],
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?
limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offs
etkey=1234,XYZ",
"rel": "next"
}
]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLESELECTINSERTUPDATEDELETE
MERCHAPI_CONFIGYesNoNoNo
MERCHAPI_CONSUMER_CONFIGYesNoNoNo
MERCHAPI_ASYNC_REQUESTYesNoNoNo
MERCH_BATCH_PARAMYesNoNoNo
ORDHEADYesNoNoNo
ORDHEAD_CFA_EXTYesNoNoNo
ORDSKU_CFA_EXTYesNoNoNo
ORDLOC_CFA_EXTYesNoNoNo
MERCHAPI_EXT_ORDERYesYesYesYes
V_MERCHAPI_EXT_ORDER_JSONYesNoNoNo
ICL_RMS_ORDERYesNoYesYes

Purchase Order Upload Service

The following services are included in this functional area:

  • Create Pre-issued Order Numbers

  • Create Purchase Order Details

  • Create Purchase Order Expenses

  • Create Purchase Order HTS

  • Create Purchase Order HTS Assessments

  • Create Purchase Order Letters of Credit

  • Create Purchase Orders

  • Delete Purchase Order Details

  • Delete Purchase Order Expenses

  • Delete Purchase Order HTS

  • Delete Purchase Order HTS Assessments

  • Delete Purchase Order Letters of Credit

  • Delete Purchase Orders

  • Update Purchase Order Details

  • Update Purchase Order Expenses

  • Update Purchase Order HTS

  • Update Purchase Order HTS Assessments

  • Update Purchase Order Letters of Credit

  • Update Purchase Orders

Create Pre-issued Order Numbers

Functional Area

Purchase Orders

Business Overview

This webservice generates pre-issued order numbers for the calling application with a set expiry date to be used in orders that will later be created and integrated to Merchandising.

Service Type

POST

ReST URL
MerchIntegrations/services/purchaseOrder/preIssuedOrderNumber/create
Input Payload Details

Table 5-1214 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierNoNumber (10)Contains the supplier to which the
order number is assigned.
quantityYesNumber (4)Contains the number of order
numbers to be generated.
expiryDaysYesNumber (4)Contains the number of days before
the pre-issued order numbers expire.
Sample Input Message
{
  "supplier": 2400,
  "quantity": 5,
  "expiryDays": 14
}

Response Code: 200 (Success)

Table 5-1215 CreateResponse - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNumbersNoCollection ofReferences a collection of order
Objectnumbers generated.

Table 5-1216 OrderNumbers - Object. See list of elements for detail

Element NameRequiredData TypeDescription
supplierNoNumber (10)Contains the supplier to which the
order number is assigned.
orderNoYesNumber (12)Contains the order number generated
in Merchandising.
expiryDateYesdateThe date when the pre-issued order
number will expire.
Sample Response Message
{
  "orderNumbers": [
    {
      "supplier": 2400,
      "orderNo": 90989990,
      "expiryDate": "2001-12-31"
    }
  ]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Create Purchase Order Details

Functional Area
Purchase Orders
Business Overview

This webservice is used to create new detail level attributes of the purchase order such as the addition of items and locations in order to keep Merchandising in sync with an external system that is responsible for maintaining purchase orders. Order details can be created for orders in Approved, Worksheet, Submitted or Closed status. The only information needed at the header level is the order number, which if not provided, will cause the message to be rejected. If an item/location combination has the Purchase Type as ‘Consignment / Concession’ for the primary supplier, then orders can only be created from the primary supplier for that location. In case of an order being raised for a parent item which is owned at a location but has consignment / concession child items under it, and the supplier is a non-primary one, then the child items which are not owned at that location will be omitted from the order.

For more details on Purchase Orders, see the Create Purchase Order service description.

Service Type
POST
ReST URL
MerchIntegrations/services/purchaseOrder/details/create
Input Payload Details

Table 5-1217 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection of
Object

Table 5-1218 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNoYesNumber (12)The unique identifer for the order.
approvedByNoString (254)Indicates where the order was
approved. It will be the user ID of the
person approving the order.

Table 5-1218 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
dataLoadingDestinationNoString (6)This feld indicates if the order will be
created in RMS or the staging tables.
Valid values are RMS or STG. If not
defned, the default is STG.
detailsNoCollection of
Object
This references the order detail node.
itemDetailsNoCollection of
Object
This references the collection of items
in the order.

Table 5-1219 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemNoString (25)An approved, transaction level item.
If a pack, it must be an orderable
pack (with an order_as_type of ‘P’).
This is required if the ref_item feld is
not populated. An item/location may
be added to the order in worksheet or
approved status.
locationYesNumber (10)An active store or warehouse. If
multichannel is on, and a warehouse
is being order to, a virtual warehouse
is expected. An item/location may be
added to the order in worksheet or
approved status.
locationTypeNoString (1)The location type of the location.
Valid values are ‘S’ store and ‘W’
warehouse. This feld cannot be
modifed.
unitCostNoNumber
(20,4)
The cost of the item from the supplier
in the order’s currency. This can be
modifed if the status is worksheet or
approved, but not if any portion of
the item’s order quantity is in transit
or has been received. If it is not
specifed on the message, it will
default from the item supplier cost
for this location.
referenceItemNoString (25)The id of a reference item which can
be used instead of using the item
feld. If the item feld is not populated
this feld is required. A ref item/
location may be added to the order in
worksheet or approved status.
originCountryNoString (3)The identifer of the country from
which the item is being sourced. This
feld cannot be modifed.
supplierPackSizeNoNumber
(12,4)
The supplier pack size for the item on
the order. This may be updated in
worksheet or approved status.

Table 5-1219 (Cont.) Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
quantityOrderedNoNumber
(12,4)
The quantity ordered of item. This
can be updated in worksheet or
approved status to adjust the quantity
of an item/location or cancel an item/
location from the order.
cancelIndNoString (1)Indicates if the detail record’s
quantity should be cancelled. Valid
values are ‘Y’es and ‘N’o.
reinstateIndNoString (1)Indicates if a detail record which was
previously cancelled should be
reinstated. This will reinstate in the
order quantity the amount in the
cancelled bucket. Valid values are
’Y’es and ‘N’o.
deliveryDateNodateThe date by which goods are to be
delivered. There can be multiple
item-locations on the order with
different delivery dates.
quantityCancelledNoNumber
(12,4)
This feld contains the quantity that
was left to be ordered when the line
item was cancelled.
cancelCodeNoString (1)This feld contains the reason that the
line item was cancelled. This feld is
required if a line item is cancelled.
estimatedInstockDateNodateDate that the item on the PO is
expected to be available to ship from
the PO location to another location. It
is calculated as the Order Creation or
Approval Date + Supplier Lead Time +
Transit Days between the Supplier
and the PO/location + Item/
Warehouse Inbound Handling Days
(if PO location is a warehouse).
earliestShipDateNodateThe date before which the item can
not be shipped by the supplier.
latestShipDateNodateThe date after which the item can not
be shipped by the supplier.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes for the order/
location. This collection is treated as a
single group and should include all
named fexible attributes for the
business entity. If any confgured
named attribute is missing from the
input collection, its value will be set
to NULL

Table 5-1220 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.

Table 5-1221 ItemDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemNoString (25)An approved, transaction level item.
If a pack, it must be an orderable
pack (with an order_as_type of ‘P’).
This is required if the ref_item feld is
not populated. An item/location may
be added to the order in worksheet or
approved status.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes for ordsku. This
collection is treated as a single group
and should include all named fexible
attributes for the business entity. If
any confgured named attribute is
missing from the input collection, its
value will be set to NULL

Sample Input Message { "items": [ { "orderNo": 464690012, "approvedBy": null, "dataLoadingDestination": "RMS", "details": [ { "item": "103900095", "location": 6000, "locationType": "W", "unitCost": 45.2, "referenceItem": null, "originCountry": "IN", "supplierPackSize": 1, "quantityOrdered": 25, "cancelInd": null, "reinstateInd": null, "deliveryDate": "2001-12-31", "quantityCancelled": null, "cancelCode": null, "estimatedInstockDate": "2001-12-31", "earliestShipDate": "2001-12-31", "latestShipDate": "2001-12-31",

          "customFlexAttribute": [
            {
              "name": "REVIEW_DATE",
              "value": null,
              "valueDate": "2001-12-31"
            }
          ]
        }
      ],
      "itemDetails": [
        {
          "item": "103900095",
          "customFlexAttribute": [
            {
              "name": "REVIEW_DATE",
              "value": null,
              "valueDate": "2001-12-31"
            }
          ]
        }
      ]
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Create Purchase Order Expenses

Functional Area
Purchase Orders
Business Overview

This webservice is used to create expense information on the purchase order within Merchandising in order to keep it in sync with an external system that is responsible for maintaining purchase orders. It also updates order header information with the values provided in the request if the order is not yet submitted or approved. Expenses may be created alongside the creation of a new order or added to an existing order that has location records defined. Internally, the service sets the status of the order to Worksheet in order to accommodate the modification of expense information for purchase orders in the system that have been submitted or approved. Validation of the new expense information is performed before automatic order re-approval is attempted.

For more details on Purchase Orders, see the Create Purchase Order service description.

Service Type
POST
ReST URL
MerchIntegrations/services/purchaseOrder/expenses/create
Input Payload Details

Table 5-1222 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of order
Objectexpenses.

Table 5-1223 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNoYesNumber (12)The unique identifer for the order.
supplierNoNumber (10)The identifer of the supplier from
which the order will be sourced. This
cannot be modifed if details exist for
the PO.

Table 5-1223 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
currencyCodeNoString (3)The code of the order’s currency. If
not populated, the supplier’s
currency will be used. This feld can
be modifed if the order status is
worksheet or approved and the order
has not been shipped.
termsNoString (15)The sales terms of the order. If not
populated on the create message, will
default to the supplier’s terms. This
can be modifed in worksheet or
approved status.
notBeforeDateNodateThe frst date that delivery will be
accepted. This can be modifed in
worksheet or approved status.
notAfterDateNodateThe last date that delivery will be
accepted. This can be modifed in
worksheet or approved status.
otbEowDateNodateThe end of week date of the OTB
bucket used. This can be modifed in
worksheet or approved status.
deptNoNumber (4)The department in which are all the
items on the order. This feld is
required if the system enforces single
department ordering. This cannot be
modifed if details exist for the PO.
statusNoString (1)The code for the status of the order.
Valid values are ‘W’ worksheet and ‘A’
approved for PO creation. It is also
possible to modify the status to ‘C’
closed.
includeOnOrderIndNoString (1)Indicates if the order should be
included in on-order calculations.
This can be modifed in worksheet or
approved status. Valid values are Y
and N.
writtenDateNodateThe date the order was created. If this
feld is not populated on the message
it will default to the time of creation
in RMS. It cannot be modifed.
originNoString (2)Indicates where the order originated.
Valid values include: 2 - Manual, 6 -
AIP generated order, 7 , 8, 12 -
Consignment Vendor Order.
ediPoIndNoString (1)Indicates whether or not the order
will be transmitted to the supplier via
an Electronic Data Exchange
transaction. Valid values are: Y =
Submit via EDI, N = Do not use EDI.

Table 5-1223 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
preMarkIndNoString (1)This feld indicated whether or not a
supplier has agreed to break an order
into separate boxes so that the boxes
can be sent directly to stores. Valid
values are Y and N.
approvedByNoString (254)Indicates where the order was
approved. It will be the user ID of the
person approving the order.
commentDescNoString (2000)Any comments pertaining to the
order.
dataLoadingDestinationNoString (6)This feld indicates if the order will be
created in RMS or the staging tables.
Valid values are RMS or STG. If not
defned, the default is STG.
masterOrderNoNoNumber (12)This feld indicates the master order
number from which child records
were created.
ladingPortNoString (5)This feld indicates the port from
which the items on the purchase
order are shipped.
dischargePortNoString (5)This feld indicates the port at which
the items on the purchase order will
enter the country of import.
factoryNoString (10)This feld indicates the factory at
which the items on the purchase
order are made.
agentNoString (10)This feld indicates the agent that is
used in the purchase of the items on
the purchase order.
shipMethodNoString (6)This feld indicates the method used
to ship the items on the purchase
order from the country of origin to
the country of import.
partnerType1NoString (6)This feld indicates Partner 1 Type.
partner1NoString (10)This feld indicates the Additional
Partner 1.
partnerType2NoString (6)This feld indicates Partner 2 Type.
partner2NoString (10)This feld indicates the Additional
Partner 2.
partnerType3NoString (6)This feld indicates Partner 3 Type.
partner3NoString (10)This feld indicates the Additional
Partner 3.
importCountryNoString (3)The identifer of the country into
which the items on the order are
being imported.

Table 5-1223 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
purchaseTypeNoString (6)This feld indicates whats included in
the suppliers cost of the item. Valid
values include C (Cost), CI (Cost and
Insurance), CIF (Cost, Insurance and
Freight) and FOB (Free on Board).
paymentMethodNoString (6)This feld indicates the default
method for how purchase orders for
this site will be paid. Valid values are
in the code type PYMT(Payment
Method). Examples are Open
Account(OA), Letter of Credit(LC) and
Wire Transfer(WT).
titlePassLocationTypeNoString (2)Contains the code indicating the type
of location or point where ownership
of merchandise changes hands from
seller/supplier to buyer/retailer. Valid
values are found under the FOBT
code type. Examples are City and
State (AC), Country Of Sourcing (CA)
and City (CI).
titlePassLocationNoString (250)Contains the description of the
location or point where ownership of
merchandise changes hands from
seller/supplier to buyer/retailer.
purchaseOrderTypeNoString (4)This feld contains the value
associated with the PO_TYPE for the
order.
orderTypeNoString (3)Indicates the type of order and which
Open To Buy bucket will be updated.
Valid values include: N/B - Non Basic,
ARB - Automatic Reorder of Basic,
BRB - Buyer Reorder of Basic, DSD -
Direct Store Delivery
buyerNoNumber (4)Contains the number associated with
the buyer for the order.
locationNoNumber (10)This feld contains the location all
items on the order will be delivered
to if populated. i. e. It will mean a
single location order.
locationTypeNoString (1)This feld contains the type of location
in the location feld. Valid values are:
Valid values are S (Store) or W
(Warehouse).
promotionNoNumber (10)Contains the RPCS offer ID associated
with the order to provide a link
between the order dialog and the
promotions dialog.
qualityControlIndNoString (1)Determines whether or not quality
control will be required when items
for this order are received. Valid
values are Y and N.

Table 5-1223 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
freightTermsNoString (30)Indicator that references what freight
terms are related to the order.
backhaulTypeNoString (6)This feld contains the type of
backhaul allowance that will be
applied to the order. Some examples
are Calculated or Flat rate.
backhaulAllowanceNoNumber
(20,4)
This feld will contain the backhaul
allowance value.
shipPayMethodNoString (2)Code indicating the payment terms
for freight charges associated with
the order. Valid values include: CC -
Collect, CF - Collect Freight Credited
Back to Customer, DF - Defned by
Buyer and Seller, MX - Mixed, PC -
Prepaid but Charged to Customer, PO
- Prepaid Only, PP - Prepaid by Seller.
transportationResponsibility
Type
NoString (2)Contains the code indicating the type
of location or point at which the
responsibility for transportation
transfers from the seller/supplier to
the buyer/retailer. Valid values are
found under the FOBT code type.
Examples are City and State (AC),
Country Of Sourcing (CA) and
Country (CC).
transportationResponsibilityNoString (250)Contains the description of the
location or point at which the
responsibility for transportation
transfers from the seller/supplier to
the buyer/retailer.
vendorOrderNoNoString (15)Contains the vendors unique
identifying number for an order.
These orders may have originated by
the vendor through the EDI process
or this number can be associated to a
Oracle Retail order when the order is
created on-line.
freightContractNoNoString (10)The number of the contract with a
shipper that will give specifc freight
rates. This feld is only available
when the system is running Import
functionality.
pickupLocationNoString (250)Contains the location at which the
order will be picked up, if the order is
a Pickup order.
pickupNoNoString (25)Contains the reference number of the
Pickup order.
pickupDateNodateContains the date when the order can
be picked up from the Supplier. This
feld is only required if the Purchase
Type of the order is Pickup.

Table 5-1223 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
appointmentDateTimeNodate-timeThis column will hold the date and
time of the receiving appointment at
the warehouse.
importTypeNoString (1)Valid values are IMporter and
EXporter. This is the default importer/
exporter assigned to the supplier of
the Puchase order.
importIdNoNumber (10)This identifes the importer/exporter
assigned to the supplier. This should
reference the WH. WH folumn with
foreign key created.
clearingZoneIdNoString (5)This column will hold the clearing
zone id.
routingLocationNoString (5)This is the default routing location for
the import order. FK on OUTLOC.
OUTLOC_ID.
reApproveIndNoString (1)This feld indicates that the update to
the corresponding purchase order
needs to be performed, and then it
should be approved again. Valid
values are Y and N.
earliestShipDateNodateThe date before which the item can
not be shipped by the supplier.
latestShipDateNodateThe date after which the item can not
be shipped by the supplier.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes at the order header
level. This collection is treated as a
single group and should include all
named fexible attributes for the
business entity. If any confgured
named attribute is missing from the
input collection, its value will be set
to NULL.
expensesNoCollection of
Object
References the expense associated
with a particular item/location of the
purchase order.

Table 5-1224 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.

Table 5-1225 Expenses - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)This feld contains alphanumeric
value that uniquely identifes the
item.
packItemNoString (25)This feld contains alphanumeric
value that uniquely identifes the
pack.
locationYesNumber (10)This feld contains the location that
item will be ordered to. This feld may
contain a store or a warehouse.
locationTypeYesString (1)This feld contains the type of location
in the location feld. Valid values are:
S - Store W - Warehouse.
componentYesString (10)This feld contains a user specifed
code representing a specifc expense
found on the ELC_COMP table.
computationValueBaseNoString (10)This feld contains a code
representing the base value for
calculating the expense.
calculationBasisNoString (1)This feld contains the basis the
expense will be calculated against if
there is no CVB code attached to the
expense. Valid values are S (Supplier)
or O (Order). If the Cost Basis is S then
when calculating the expense, the
items supplier cost will be used. If the
Cost Basis is O then the order unit
cost of the item on the order will be
used to calculate the expense. The
code type for this feld is EXCB.
componentRateYesNumber
(20,4)
This feld contains the rate to be
charged against the calculation base
of the component (either value or
specifc).
componentCurrencyYesString (3)This feld contains the currency the
expense or assessment is to be
entered in. If the Calculation Basis is
V (Value), then comp_currency will be
NULL.
exchangeRateYesNumber
(20,10)
This feld contains the exchange rate
of the individual expense.
perCountNoNumber
(12,4)
This feld contains a count indicating
the amount of the Per Count Unit of
Measure to which the rate applies.
When creating an expense that is
defned as $. 20 for every 10
kilograms of an item ordered, the Per
Count would be 10.

Table 5-1225 (Cont.) Expenses - Object. See list of elements for detail

Element NameRequiredData TypeDescription
perCountUomNoString (4)This feld contains the unit of
measure in which the Per Count is
specifed. When creating an expense
that is defned as $. 20 for every 10
kilograms of an item ordered, the Per
Count UOM would be the Unit of
Measure code for Kilograms.
nominationFlag1YesString (1)This feld contains a fag that is used
to indicate if the value of the cost
component should be included in the
calculation of another. Nomination
fags are used to calculate the value
of a Computation Value Base (CVB)
which has the corresponding
nomination fag set to Yes (Y). Valid
values are: N/A (N) (the value of this
component will not be included in
CVBs which look at Nomination Flag
1), Add (+) (the value of this
component will be added to CVBs
which look at Nomination Flag 1),
and Subtract (-) (the value of this
component will be deducted from
CVBs which look at Nomination Flag
1). For example, if cost component
ABC has a + in Nomination Flag 1,
then all CVBs that include
Nomination Flag 1 will include this
cost component value in their
calculation basis.
inDutyYesString (1)If Import Management is enabled in
Merchandising (i. e. system_options.
import_ind = Y), the inDuty fag is
used to indicate if the value of the
cost component should be included in
total duty.

Table 5-1225 (Cont.) Expenses - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nominationFlag3YesString (1)This feld contains a fag that is used
to indicate if the value of the cost
component should be included in the
calculation of another. Nomination
fags are used to calculate the value
of a Computation Value Base (CVB)
which has the corresponding
nomination fag set to Yes (Y). Valid
values are: N/A (N) (the value of this
component will not be included in
CVBs which look at Nomination Flag
3), Add (+) (the value of this
component will be added to CVBs
which look at Nomination Flag 3),
and Subtract (-) (the value of this
component will be deducted from
CVBs which look at Nomination Flag
3). For example, if cost component
ABC has a + in Nomination Flag 3,
then all CVBs that include
Nomination Flag 3 will include this
cost component value in their
calculation basis.
inExpenseYesString (1)See description for nom_fag_1. If ALC
is turned on (i. e. system_options.
import_ind = Y), nom_fag_2 is used to
indicate the status of a component in
duty calculation nom_fag_4 is used to
indicate the status of a component in
ELC calculation nom_fag_5 is used to
indicate the status of a component in
ALC calculation i. e. these 3 fags can
not be used for any other purposes if
ALC is turned on.
inAlcYesString (1)See description for nom_fag_1. If ALC
is turned on (i. e. system_options.
import_ind = Y), nom_fag_2 is used to
indicate the status of a component in
duty calculation nom_fag_4 is used to
indicate the status of a component in
ELC calculation nom_fag_5 is used to
indicate the status of a component in
ALC calculation i. e. these 3 fags can
not be used for any other purposes if
ALC is turned on.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "orderNo": 464690012,
      "supplier": 2400,
      "currencyCode": "USD",
      "terms": "02",
      "notBeforeDate": "2001-12-31",
      "notAfterDate": "2001-12-31",
      "otbEowDate": "2001-12-31",
      "dept": null,
      "status": "A",
      "includeOnOrderInd": "Y",
      "writtenDate": "2001-12-31",
      "origin": "2",
      "ediPoInd": "Y",
      "preMarkInd": "Y",
      "approvedBy": null,
      "commentDesc": "Create Order",
      "dataLoadingDestination": "RMS",
      "masterOrderNo": null,
      "ladingPort": "7",
      "dischargePort": "480",
      "factory": "100",
      "agent": "007",
      "shipMethod": "32",
      "partnerType1": "AG",
      "partner1": "007",
      "partnerType2": "E",
      "partner2": "4678",
      "partnerType3": null,
      "partner3": null,
      "importCountry": "US",
      "purchaseType": "FOB",
      "paymentMethod": "LC",
      "titlePassLocationType": "FF",
      "titlePassLocation": "US",
      "purchaseOrderType": "4000",
      "orderType": "N/B",
      "buyer": 1000,
      "location": null,
      "locationType": null,
      "promotion": 41,
      "qualityControlInd": "Y",
      "freightTerms": "03",
      "backhaulType": null,
      "backhaulAllowance": null,
      "shipPayMethod": "PO",
      "transportationResponsibilityType": "FF",
      "transportationResponsibility": "US",
      "vendorOrderNo": "9987001",
      "freightContractNo": "111",
      "pickupLocation": null,
      "pickupNo": null,
      "pickupDate": null,
      "appointmentDateTime": "2001-12-31T23:59:59.123Z",
      "importType": "W",
      "importId": 10001,
      "clearingZoneId": null,
      "routingLocation": null,
      "reApproveInd": null,
      "earliestShipDate": "2001-12-31",
      "latestShipDate": "2001-12-31",
      "customFlexAttribute": [
        {
          "name": "REVIEW_DATE",
          "value": null,
          "valueDate": "2001-12-31"
        }
      ],
      "expenses": [
        {
          "item": "103900095",
          "packItem": null,
          "location": 10001,
          "locationType": "W",
          "component": "OCFRT",
          "computationValueBase": null,
          "calculationBasis": null,
          "componentRate": 17,
          "componentCurrency": "INR",
          "exchangeRate": 29,
          "perCount": 1,
          "perCountUom": "M3",
          "nominationFlag1": "N",
          "inDuty": "N",
          "nominationFlag3": "N",
          "inExpense": "+",
          "inAlc": "N"
        }
      ]
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Create Purchase Order HTS

Functional Area
Purchase Orders
Business Overview

This webservice is used to create Harmonized Tariff Schedules and related assessments within Merchandising in order to keep it in sync with an external system that is responsible for maintaining purchase orders. It also updates order header information with the values provided in the request if the order has not yet been submitted or approved. HTS and Assessments may be created together with the creation of a new import order or added to an existing order. Internally, the service sets the status of the order to Worksheet in order to accommodate the addition of HTS information for purchase orders in the system that have been submitted or approved. Validation of the new HTS information is performed before automatic order reapproval is attempted.

For more details on Purchase Orders, see the Create Purchase Order service description.

Service Type
POST
ReST URL
MerchIntegrations/services/purchaseOrder/hts/create
Input Payload Details

Table 5-1226 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of order HTS
Objectrecords.

Table 5-1227 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNoYesNumber (12)The unique identifer for the order.
supplierNoNumber (10)The identifer of the supplier from
which the order will be sourced. This
cannot be modifed if details exist for
the PO.

Table 5-1227 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
currencyCodeNoString (3)The code of the order’s currency. If
not populated, the supplier’s
currency will be used. This feld can
be modifed if the order status is
worksheet or approved and the order
has not been shipped.
termsNoString (15)The sales terms of the order. If not
populated on the create message, will
default to the supplier’s terms. This
can be modifed in worksheet or
approved status.
notBeforeDateNodateThe frst date that delivery will be
accepted. This can be modifed in
worksheet or approved status.
notAfterDateNodateThe last date that delivery will be
accepted. This can be modifed in
worksheet or approved status.
otbEowDateNodateThe end of week date of the OTB
bucket used. This can be modifed in
worksheet or approved status.
deptNoNumber (4)The department in which are all the
items on the order. This feld is
required if the system enforces single
department ordering. This cannot be
modifed if details exist for the PO.
statusNoString (1)The code for the status of the order.
Valid values are ‘W’ worksheet and ‘A’
approved for PO creation. It is also
possible to modify the status to ‘C’
closed.
includeOnOrderIndNoString (1)Indicates if the order should be
included in on-order calculations.
This can be modifed in worksheet or
approved status. Valid values are Y
and N.
writtenDateNodateThe date the order was created. If this
feld is not populated on the message
it will default to the time of creation
in RMS. It cannot be modifed.
originNoString (2)Indicates where the order originated.
Valid values include: 2 - Manual, 6 -
AIP generated order, 7 , 8, 12 -
Consignment Vendor Order.
ediPoIndNoString (1)Indicates whether or not the order
will be transmitted to the supplier via
an Electronic Data Exchange
transaction. Valid values are: Y =
Submit via EDI, N = Do not use EDI.

Table 5-1227 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
preMarkIndNoString (1)This feld indicated whether or not a
supplier has agreed to break an order
into separate boxes so that the boxes
can be sent directly to stores. Valid
values are Y and N.
approvedByNoString (254)Indicates where the order was
approved. It will be the user ID of the
person approving the order.
commentDescNoString (2000)Any comments pertaining to the
order.
dataLoadingDestinationNoString (6)This feld indicates if the order will be
created in RMS or the staging tables.
Valid values are RMS or STG. If not
defned, the default is STG.
masterOrderNoNoNumber (12)This feld indicates the master order
number from which child records
were created.
ladingPortNoString (5)This feld indicates the port from
which the items on the purchase
order are shipped.
dischargePortNoString (5)This feld indicates the port at which
the items on the purchase order will
enter the country of import.
factoryNoString (10)This feld indicates the factory at
which the items on the purchase
order are made.
agentNoString (10)This feld indicates the agent that is
used in the purchase of the items on
the purchase order.
shipMethodNoString (6)This feld indicates the method used
to ship the items on the purchase
order from the country of origin to
the country of import.
partnerType1NoString (6)This feld indicates Partner 1 Type.
partner1NoString (10)This feld indicates the Additional
Partner 1.
partnerType2NoString (6)This feld indicates Partner 2 Type.
partner2NoString (10)This feld indicates the Additional
Partner 2.
partnerType3NoString (6)This feld indicates Partner 3 Type.
partner3NoString (10)This feld indicates the Additional
Partner 3.
importCountryNoString (3)The identifer of the country into
which the items on the order are
being imported.

Table 5-1227 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
purchaseTypeNoString (6)This feld indicates whats included in
the suppliers cost of the item. Valid
values include C (Cost), CI (Cost and
Insurance), CIF (Cost, Insurance and
Freight) and FOB (Free on Board).
paymentMethodNoString (6)This feld indicates the default
method for how purchase orders for
this site will be paid. Valid values are
in the code type PYMT(Payment
Method). Examples are Open
Account(OA), Letter of Credit(LC) and
Wire Transfer(WT).
titlePassLocationTypeNoString (2)Contains the code indicating the type
of location or point where ownership
of merchandise changes hands from
seller/supplier to buyer/retailer. Valid
values are found under the FOBT
code type. Examples are City and
State (AC), Country Of Sourcing (CA)
and City (CI).
titlePassLocationNoString (250)Contains the description of the
location or point where ownership of
merchandise changes hands from
seller/supplier to buyer/retailer.
purchaseOrderTypeNoString (4)This feld contains the value
associated with the PO_TYPE for the
order.
orderTypeNoString (3)Indicates the type of order and which
Open To Buy bucket will be updated.
Valid values include: N/B - Non Basic,
ARB - Automatic Reorder of Basic,
BRB - Buyer Reorder of Basic, DSD -
Direct Store Delivery
buyerNoNumber (4)Contains the number associated with
the buyer for the order.
locationNoNumber (10)This feld contains the location all
items on the order will be delivered
to if populated. i. e. It will mean a
single location order.
locationTypeNoString (1)This feld contains the type of location
in the location feld. Valid values are:
Valid values are S (Store) or W
(Warehouse).
promotionNoNumber (10)Contains the RPCS offer ID associated
with the order to provide a link
between the order dialog and the
promotions dialog.
qualityControlIndNoString (1)Determines whether or not quality
control will be required when items
for this order are received. Valid
values are Y and N.

Table 5-1227 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
freightTermsNoString (30)Indicator that references what freight
terms are related to the order.
backhaulTypeNoString (6)This feld contains the type of
backhaul allowance that will be
applied to the order. Some examples
are Calculated or Flat rate.
backhaulAllowanceNoNumber
(20,4)
This feld will contain the backhaul
allowance value.
shipPayMethodNoString (2)Code indicating the payment terms
for freight charges associated with
the order. Valid values include: CC -
Collect, CF - Collect Freight Credited
Back to Customer, DF - Defned by
Buyer and Seller, MX - Mixed, PC -
Prepaid but Charged to Customer, PO
- Prepaid Only, PP - Prepaid by Seller.
transportationResponsibility
Type
NoString (2)Contains the code indicating the type
of location or point at which the
responsibility for transportation
transfers from the seller/supplier to
the buyer/retailer. Valid values are
found under the FOBT code type.
Examples are City and State (AC),
Country Of Sourcing (CA) and
Country (CC).
transportationResponsibilityNoString (250)Contains the description of the
location or point at which the
responsibility for transportation
transfers from the seller/supplier to
the buyer/retailer.
vendorOrderNoNoString (15)Contains the vendors unique
identifying number for an order.
These orders may have originated by
the vendor through the EDI process
or this number can be associated to a
Oracle Retail order when the order is
created on-line.
freightContractNoNoString (10)The number of the contract with a
shipper that will give specifc freight
rates. This feld is only available
when the system is running Import
functionality.
pickupLocationNoString (250)Contains the location at which the
order will be picked up, if the order is
a Pickup order.
pickupNoNoString (25)Contains the reference number of the
Pickup order.
pickupDateNodateContains the date when the order can
be picked up from the Supplier. This
feld is only required if the Purchase
Type of the order is Pickup.

Table 5-1227 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
appointmentDateTimeNodate-timeThis column will hold the date and
time of the receiving appointment at
the warehouse.
importTypeNoString (1)Valid values are IMporter and
EXporter. This is the default importer/
exporter assigned to the supplier of
the Puchase order.
importIdNoNumber (10)This identifes the importer/exporter
assigned to the supplier. This should
reference the WH. WH folumn with
foreign key created.
clearingZoneIdNoString (5)This column will hold the clearing
zone id.
routingLocationNoString (5)This is the default routing location for
the import order. FK on OUTLOC.
OUTLOC_ID.
reApproveIndNoString (1)This feld indicates that the update to
the corresponding purchase order
needs to be performed, and then it
should be approved again. Valid
values are Y and N.
earliestShipDateNodateThe date before which the item can
not be shipped by the supplier.
latestShipDateNodateThe date after which the item can not
be shipped by the supplier.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes at the order header
level. This collection is treated as a
single group and should include all
named fexible attributes for the
business entity. If any confgured
named attribute is missing from the
input collection, its value will be set
to NULL.
htsNoCollection of
Object
References the HTS code associated
with a particular item of the purchase
order.

Table 5-1228 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.

Table 5-1229 Hts - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)This feld contains an unique
alphanumeric value that identifes
the item.
packItemNoString (25)This feld contains alphanumeric
value that uniquely identifes the
pack.
htsYesString (25)This feld contains an identifer for
the Harmonized Tariff Schedule code.
statusYesString (1)This feld contains a fag to indicate
the status of the Purchase Order/
Item/HTS relationship. Valid values
are (W)orksheet and (A)pproved.
originCountryYesString (3)This feld contains the country of
manufacture when the HTS tracking
level is M. When the HTS tracking
level is S, this stores the country of
sourcing.
importCountryNoString (3)This feld contains the country that
the item will be imported in to.
assessmentsNoCollection of
Object
References the HTS code assessments
associated with a particular item of
the purchase order.

Table 5-1230 Assessments - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentYesString (10)This feld contains a user specifed
code representing the specifc
assessment component found on the
ELC_COMP table.
computationValueBaseNoString (10)This feld contains a code
representing the base value for
calculating the assessment.
componentRateYesNumber
(20,4)
This feld contains the rate to be
charged against the calculation base.
This feld will hold a percentage value
if the Calculation Basis of the
Component is Value or a monetary
amount in the currency defned for
the assessment (usually the import
country’s currency) if the Calculation
Basis is Specifc.
perCountNoNumber
(12,4)
This feld contains a count indicating
the amount of the Per Count Unit of
Measure to which the rate applies.
When creating an expense that is
defned as $. 20 for every 10
kilograms of an item ordered, the Per
Count would be 10.

Table 5-1230 (Cont.) Assessments - Object. See list of elements for detail

Element NameRequiredData TypeDescription
perCountUomNoString (4)This feld contains the unit of
measure in which the Per Count is
specifed. When creating an expense
that is defned as $. 20 for every 10
kilograms of an item ordered, the Per
Count UOM would be the Unit of
Measure code for Kilograms.
nominationFlag1YesString (1)This feld contains a fag that is used
to indicate if the value of the cost
component should be included in the
calculation of another. Nomination
fags are used to calculate the value
of a Computation Value Base (CVB)
which has the corresponding
nomination fag set to Yes (Y). Valid
values are: N/A (N) (the value of this
component will not be included in
CVBs which look at Nomination Flag
1), Add (+) (the value of this
component will be added to CVBs
which look at Nomination Flag 1),
and Subtract (-) (the value of this
component will be deducted from
CVBs which look at Nomination Flag
1). For example, if cost component
ABC has a + in Nomination Flag 1,
then all CVBs that include
Nomination Flag 1 will include this
cost component value in their
calculation basis.
inDutyYesString (1)If Import Management is enabled in
Merchandising (i. e. system_options.
import_ind = Y), the inDuty fag is
used to indicate if the value of the
cost component should be included in
total duty.

Table 5-1230 (Cont.) Assessments - Object. See list of elements for detail

Element Name
Required
Data TypeDescription
nominationFlag3
Yes
String (1)This feld contains a fag that is used
to indicate if the value of the cost
component should be included in the
calculation of another. Nomination
fags are used to calculate the value
of a Computation Value Base (CVB)
which has the corresponding
nomination fag set to Yes (Y). Valid
values are: N/A (N) (the value of this
component will not be included in
CVBs which look at Nomination Flag
3), Add (+) (the value of this
component will be added to CVBs
which look at Nomination Flag 3),
and Subtract (-) (the value of this
component will be deducted from
CVBs which look at Nomination Flag
3). For example, if cost component
ABC has a + in Nomination Flag 3,
then all CVBs that include
Nomination Flag 3 will include this
cost component value in their
calculation basis.
inExpense
Yes
String (1)The inExpense fag is used to indicate
if the value of the cost component
should be included in total expenses.
inAlc
Yes
String (1)The inALC fag is used for cost
components where the retailer does
not expect to receive an actual value
for the charge via an obligation or
customs entry. The inALC fag allows
the value of the cost component to be
included in ALC via direct
nomination and indicates to the
system that the estimated value on
the order should be used as the actual
value as well because no other actual
will be provided.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"orderNo": 464690012,
"supplier": 2400,
"currencyCode": "USD",
"terms": "02",
"notBeforeDate": "2001-12-31",
"notAfterDate": "2001-12-31",
"otbEowDate": "2001-12-31",
"dept": null,
      "status": "A",
      "includeOnOrderInd": "Y",
      "writtenDate": "2001-12-31",
      "origin": "2",
      "ediPoInd": "Y",
      "preMarkInd": "Y",
      "approvedBy": null,
      "commentDesc": "Create Order",
      "dataLoadingDestination": "RMS",
      "masterOrderNo": null,
      "ladingPort": "7",
      "dischargePort": "480",
      "factory": "100",
      "agent": "007",
      "shipMethod": "32",
      "partnerType1": "AG",
      "partner1": "007",
      "partnerType2": "E",
      "partner2": "4678",
      "partnerType3": null,
      "partner3": null,
      "importCountry": "US",
      "purchaseType": "FOB",
      "paymentMethod": "LC",
      "titlePassLocationType": "FF",
      "titlePassLocation": "US",
      "purchaseOrderType": "4000",
      "orderType": "N/B",
      "buyer": 1000,
      "location": null,
      "locationType": null,
      "promotion": 41,
      "qualityControlInd": "Y",
      "freightTerms": "03",
      "backhaulType": null,
      "backhaulAllowance": null,
      "shipPayMethod": "PO",
      "transportationResponsibilityType": "FF",
      "transportationResponsibility": "US",
      "vendorOrderNo": "9987001",
      "freightContractNo": "111",
      "pickupLocation": null,
      "pickupNo": null,
      "pickupDate": null,
      "appointmentDateTime": "2001-12-31T23:59:59.123Z",
      "importType": "W",
      "importId": 10001,
      "clearingZoneId": null,
      "routingLocation": null,
      "reApproveInd": null,
      "earliestShipDate": "2001-12-31",
      "latestShipDate": "2001-12-31",
      "customFlexAttribute": [
        {
          "name": "REVIEW_DATE",
          "value": null,
          "valueDate": "2001-12-31"
        }
      ],
      "hts": [
        {
          "item": "103900095",
          "packItem": null,
          "hts": "9014111112",
          "status": "W",
          "originCountry": "IN",
          "importCountry": "US",
          "assessments": [
            {
              "component": "DTYCAUS",
              "computationValueBase": null,
              "componentRate": 12,
              "perCount": 1,
              "perCountUom": "EA",
              "nominationFlag1": "N",
              "inDuty": "+",
              "nominationFlag3": "-",
              "inExpense": "N",
              "inAlc": "N"
            }
          ]
        }
      ]
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
  ]
}
    }

Create Purchase Order HTS Assessments

Functional Area
Purchase Orders
Business Overview

This webservice is used to create Harmonized Tariff Schedules assessments within Merchandising in order to keep it in sync with an external system that is responsible for maintaining purchase orders. It also updates order header information with the values provided in the request if the order is not yet submitted or approved. Assessments may be created together with the creation of a new import order or added to an existing order. Internally, the service sets the status of the order to Worksheet in order to accommodate the addition of HTS information for purchase orders in the system that have been submitted or approved. Validation of the new and updated information is performed before automatic order re-approval is attempted.

For more details on Purchase Orders, see the Create Purchase Order service description.

Service Type

POST

ReST URL
MerchIntegrations/services/purchaseOrder/hts/assessments/create
Input Payload Details

Table 5-1231 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of order HTS
Objectassessment records.

Table 5-1232 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNoYesNumber (12)The unique identifer for the order.
supplierNoNumber (10)The identifer of the supplier from
which the order will be sourced. This
cannot be modifed if details exist for
the PO.

Table 5-1232 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
currencyCodeNoString (3)The code of the order’s currency. If
not populated, the supplier’s
currency will be used. This feld can
be modifed if the order status is
worksheet or approved and the order
has not been shipped.
termsNoString (15)The sales terms of the order. If not
populated on the create message, will
default to the supplier’s terms. This
can be modifed in worksheet or
approved status.
notBeforeDateNodateThe frst date that delivery will be
accepted. This can be modifed in
worksheet or approved status.
notAfterDateNodateThe last date that delivery will be
accepted. This can be modifed in
worksheet or approved status.
otbEowDateNodateThe end of week date of the OTB
bucket used. This can be modifed in
worksheet or approved status.
deptNoNumber (4)The department in which are all the
items on the order. This feld is
required if the system enforces single
department ordering. This cannot be
modifed if details exist for the PO.
statusNoString (1)The code for the status of the order.
Valid values are ‘W’ worksheet and ‘A’
approved for PO creation. It is also
possible to modify the status to ‘C’
closed.
includeOnOrderIndNoString (1)Indicates if the order should be
included in on-order calculations.
This can be modifed in worksheet or
approved status. Valid values are Y
and N.
writtenDateNodateThe date the order was created. If this
feld is not populated on the message
it will default to the time of creation
in RMS. It cannot be modifed.
originNoString (2)Indicates where the order originated.
Valid values include: 2 - Manual, 6 -
AIP generated order, 7 , 8, 12 -
Consignment Vendor Order.
ediPoIndNoString (1)Indicates whether or not the order
will be transmitted to the supplier via
an Electronic Data Exchange
transaction. Valid values are: Y =
Submit via EDI, N = Do not use EDI.

Table 5-1232 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
preMarkIndNoString (1)This feld indicated whether or not a
supplier has agreed to break an order
into separate boxes so that the boxes
can be sent directly to stores. Valid
values are Y and N.
approvedByNoString (254)Indicates where the order was
approved. It will be the user ID of the
person approving the order.
commentDescNoString (2000)Any comments pertaining to the
order.
dataLoadingDestinationNoString (6)This feld indicates if the order will be
created in RMS or the staging tables.
Valid values are RMS or STG. If not
defned, the default is STG.
masterOrderNoNoNumber (12)This feld indicates the master order
number from which child records
were created.
ladingPortNoString (5)This feld indicates the port from
which the items on the purchase
order are shipped.
dischargePortNoString (5)This feld indicates the port at which
the items on the purchase order will
enter the country of import.
factoryNoString (10)This feld indicates the factory at
which the items on the purchase
order are made.
agentNoString (10)This feld indicates the agent that is
used in the purchase of the items on
the purchase order.
shipMethodNoString (6)This feld indicates the method used
to ship the items on the purchase
order from the country of origin to
the country of import.
partnerType1NoString (6)This feld indicates Partner 1 Type.
partner1NoString (10)This feld indicates the Additional
Partner 1.
partnerType2NoString (6)This feld indicates Partner 2 Type.
partner2NoString (10)This feld indicates the Additional
Partner 2.
partnerType3NoString (6)This feld indicates Partner 3 Type.
partner3NoString (10)This feld indicates the Additional
Partner 3.
importCountryNoString (3)The identifer of the country into
which the items on the order are
being imported.

Table 5-1232 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
purchaseTypeNoString (6)This feld indicates whats included in
the suppliers cost of the item. Valid
values include C (Cost), CI (Cost and
Insurance), CIF (Cost, Insurance and
Freight) and FOB (Free on Board).
paymentMethodNoString (6)This feld indicates the default
method for how purchase orders for
this site will be paid. Valid values are
in the code type PYMT(Payment
Method). Examples are Open
Account(OA), Letter of Credit(LC) and
Wire Transfer(WT).
titlePassLocationTypeNoString (2)Contains the code indicating the type
of location or point where ownership
of merchandise changes hands from
seller/supplier to buyer/retailer. Valid
values are found under the FOBT
code type. Examples are City and
State (AC), Country Of Sourcing (CA)
and City (CI).
titlePassLocationNoString (250)Contains the description of the
location or point where ownership of
merchandise changes hands from
seller/supplier to buyer/retailer.
purchaseOrderTypeNoString (4)This feld contains the value
associated with the PO_TYPE for the
order.
orderTypeNoString (3)Indicates the type of order and which
Open To Buy bucket will be updated.
Valid values include: N/B - Non Basic,
ARB - Automatic Reorder of Basic,
BRB - Buyer Reorder of Basic, DSD -
Direct Store Delivery
buyerNoNumber (4)Contains the number associated with
the buyer for the order.
locationNoNumber (10)This feld contains the location all
items on the order will be delivered
to if populated. i. e. It will mean a
single location order.
locationTypeNoString (1)This feld contains the type of location
in the location feld. Valid values are:
Valid values are S (Store) or W
(Warehouse).
promotionNoNumber (10)Contains the RPCS offer ID associated
with the order to provide a link
between the order dialog and the
promotions dialog.
qualityControlIndNoString (1)Determines whether or not quality
control will be required when items
for this order are received. Valid
values are Y and N.

Table 5-1232 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
freightTermsNoString (30)Indicator that references what freight
terms are related to the order.
backhaulTypeNoString (6)This feld contains the type of
backhaul allowance that will be
applied to the order. Some examples
are Calculated or Flat rate.
backhaulAllowanceNoNumber
(20,4)
This feld will contain the backhaul
allowance value.
shipPayMethodNoString (2)Code indicating the payment terms
for freight charges associated with
the order. Valid values include: CC -
Collect, CF - Collect Freight Credited
Back to Customer, DF - Defned by
Buyer and Seller, MX - Mixed, PC -
Prepaid but Charged to Customer, PO
- Prepaid Only, PP - Prepaid by Seller.
transportationResponsibility
Type
NoString (2)Contains the code indicating the type
of location or point at which the
responsibility for transportation
transfers from the seller/supplier to
the buyer/retailer. Valid values are
found under the FOBT code type.
Examples are City and State (AC),
Country Of Sourcing (CA) and
Country (CC).
transportationResponsibilityNoString (250)Contains the description of the
location or point at which the
responsibility for transportation
transfers from the seller/supplier to
the buyer/retailer.
vendorOrderNoNoString (15)Contains the vendors unique
identifying number for an order.
These orders may have originated by
the vendor through the EDI process
or this number can be associated to a
Oracle Retail order when the order is
created on-line.
freightContractNoNoString (10)The number of the contract with a
shipper that will give specifc freight
rates. This feld is only available
when the system is running Import
functionality.
pickupLocationNoString (250)Contains the location at which the
order will be picked up, if the order is
a Pickup order.
pickupNoNoString (25)Contains the reference number of the
Pickup order.
pickupDateNodateContains the date when the order can
be picked up from the Supplier. This
feld is only required if the Purchase
Type of the order is Pickup.

Table 5-1232 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
appointmentDateTimeNodate-timeThis column will hold the date and
time of the receiving appointment at
the warehouse.
importTypeNoString (1)Valid values are IMporter and
EXporter. This is the default importer/
exporter assigned to the supplier of
the Puchase order.
importIdNoNumber (10)This identifes the importer/exporter
assigned to the supplier. This should
reference the WH. WH folumn with
foreign key created.
clearingZoneIdNoString (5)This column will hold the clearing
zone id.
routingLocationNoString (5)This is the default routing location for
the import order. FK on OUTLOC.
OUTLOC_ID.
reApproveIndNoString (1)This feld indicates that the update to
the corresponding purchase order
needs to be performed, and then it
should be approved again. Valid
values are Y and N.
earliestShipDateNodateThe date before which the item can
not be shipped by the supplier.
latestShipDateNodateThe date after which the item can not
be shipped by the supplier.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes at the order header
level. This collection is treated as a
single group and should include all
named fexible attributes for the
business entity. If any confgured
named attribute is missing from the
input collection, its value will be set
to NULL.
htsNoCollection of
Object
References the HTS code associated
with a particular item of the purchase
order.

Table 5-1233 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.

Table 5-1234 Hts - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)This feld contains an unique
alphanumeric value that identifes
the item.
packItemNoString (25)This feld contains alphanumeric
value that uniquely identifes the
pack.
htsYesString (25)This feld contains an identifer for
the Harmonized Tariff Schedule code.
statusYesString (1)This feld contains a fag to indicate
the status of the Purchase Order/
Item/HTS relationship. Valid values
are (W)orksheet and (A)pproved.
originCountryYesString (3)This feld contains the country of
manufacture when the HTS tracking
level is M. When the HTS tracking
level is S, this stores the country of
sourcing.
importCountryNoString (3)This feld contains the country that
the item will be imported in to.
assessmentsNoCollection of
Object
References the HTS code assessments
associated with a particular item of
the purchase order.

Table 5-1235 Assessments - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentYesString (10)This feld contains a user specifed
code representing the specifc
assessment component found on the
ELC_COMP table.
computationValueBaseNoString (10)This feld contains a code
representing the base value for
calculating the assessment.
componentRateYesNumber
(20,4)
This feld contains the rate to be
charged against the calculation base.
This feld will hold a percentage value
if the Calculation Basis of the
Component is Value or a monetary
amount in the currency defned for
the assessment (usually the import
country’s currency) if the Calculation
Basis is Specifc.
perCountNoNumber
(12,4)
This feld contains a count indicating
the amount of the Per Count Unit of
Measure to which the rate applies.
When creating an expense that is
defned as $. 20 for every 10
kilograms of an item ordered, the Per
Count would be 10.

Table 5-1235 (Cont.) Assessments - Object. See list of elements for detail

Element NameRequiredData TypeDescription
perCountUomNoString (4)This feld contains the unit of
measure in which the Per Count is
specifed. When creating an expense
that is defned as $. 20 for every 10
kilograms of an item ordered, the Per
Count UOM would be the Unit of
Measure code for Kilograms.
nominationFlag1YesString (1)This feld contains a fag that is used
to indicate if the value of the cost
component should be included in the
calculation of another. Nomination
fags are used to calculate the value
of a Computation Value Base (CVB)
which has the corresponding
nomination fag set to Yes (Y). Valid
values are: N/A (N) (the value of this
component will not be included in
CVBs which look at Nomination Flag
1), Add (+) (the value of this
component will be added to CVBs
which look at Nomination Flag 1),
and Subtract (-) (the value of this
component will be deducted from
CVBs which look at Nomination Flag
1). For example, if cost component
ABC has a + in Nomination Flag 1,
then all CVBs that include
Nomination Flag 1 will include this
cost component value in their
calculation basis.
inDutyYesString (1)If Import Management is enabled in
Merchandising (i. e. system_options.
import_ind = Y), the inDuty fag is
used to indicate if the value of the
cost component should be included in
total duty.

Table 5-1235 (Cont.) Assessments - Object. See list of elements for detail

Element Name
Required
Data TypeDescription
nominationFlag3
Yes
String (1)This feld contains a fag that is used
to indicate if the value of the cost
component should be included in the
calculation of another. Nomination
fags are used to calculate the value
of a Computation Value Base (CVB)
which has the corresponding
nomination fag set to Yes (Y). Valid
values are: N/A (N) (the value of this
component will not be included in
CVBs which look at Nomination Flag
3), Add (+) (the value of this
component will be added to CVBs
which look at Nomination Flag 3),
and Subtract (-) (the value of this
component will be deducted from
CVBs which look at Nomination Flag
3). For example, if cost component
ABC has a + in Nomination Flag 3,
then all CVBs that include
Nomination Flag 3 will include this
cost component value in their
calculation basis.
inExpense
Yes
String (1)The inExpense fag is used to indicate
if the value of the cost component
should be included in total expenses.
inAlc
Yes
String (1)The inALC fag is used for cost
components where the retailer does
not expect to receive an actual value
for the charge via an obligation or
customs entry. The inALC fag allows
the value of the cost component to be
included in ALC via direct
nomination and indicates to the
system that the estimated value on
the order should be used as the actual
value as well because no other actual
will be provided.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"orderNo": 464690012,
"supplier": 2400,
"currencyCode": "USD",
"terms": "02",
"notBeforeDate": "2001-12-31",
"notAfterDate": "2001-12-31",
"otbEowDate": "2001-12-31",
"dept": null,
      "status": "A",
      "includeOnOrderInd": "Y",
      "writtenDate": "2001-12-31",
      "origin": "2",
      "ediPoInd": "Y",
      "preMarkInd": "Y",
      "approvedBy": null,
      "commentDesc": "Create Order",
      "dataLoadingDestination": "RMS",
      "masterOrderNo": null,
      "ladingPort": "7",
      "dischargePort": "480",
      "factory": "100",
      "agent": "007",
      "shipMethod": "32",
      "partnerType1": "AG",
      "partner1": "007",
      "partnerType2": "E",
      "partner2": "4678",
      "partnerType3": null,
      "partner3": null,
      "importCountry": "US",
      "purchaseType": "FOB",
      "paymentMethod": "LC",
      "titlePassLocationType": "FF",
      "titlePassLocation": "US",
      "purchaseOrderType": "4000",
      "orderType": "N/B",
      "buyer": 1000,
      "location": null,
      "locationType": null,
      "promotion": 41,
      "qualityControlInd": "Y",
      "freightTerms": "03",
      "backhaulType": null,
      "backhaulAllowance": null,
      "shipPayMethod": "PO",
      "transportationResponsibilityType": "FF",
      "transportationResponsibility": "US",
      "vendorOrderNo": "9987001",
      "freightContractNo": "111",
      "pickupLocation": null,
      "pickupNo": null,
      "pickupDate": null,
      "appointmentDateTime": "2001-12-31T23:59:59.123Z",
      "importType": "W",
      "importId": 10001,
      "clearingZoneId": null,
      "routingLocation": null,
      "reApproveInd": null,
      "earliestShipDate": "2001-12-31",
      "latestShipDate": "2001-12-31",
      "customFlexAttribute": [
        {
          "name": "REVIEW_DATE",
          "value": null,
          "valueDate": "2001-12-31"
        }
      ],
      "hts": [
        {
          "item": "103900095",
          "packItem": null,
          "hts": "9014111112",
          "status": "W",
          "originCountry": "IN",
          "importCountry": "US",
          "assessments": [
            {
              "component": "DTYCAUS",
              "computationValueBase": null,
              "componentRate": 12,
              "perCount": 1,
              "perCountUom": "EA",
              "nominationFlag1": "N",
              "inDuty": "+",
              "nominationFlag3": "-",
              "inExpense": "N",
              "inAlc": "N"
            }
          ]
        }
      ]
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
  ]
}
    }

Create Purchase Order Letters of Credit

Functional Area
Purchase Orders
Business Overview

This webservice is used to create letter of credit information within Merchandising when the order payment type is Letter of Credit in order to keep it in sync with an external system that is responsible for maintaining purchase orders. It also updates order header information with the values provided in the request if the order has not yet been submitted or approved. For an existing order that has a payment type of Letter of Credit, the modification of header level order information is not necessary; however header level fields, particularly the payment type can be updated in case a letter of credit needs to be attached to the worksheet order that has an existing payment type other than Letter of Credit. Internally, the service sets the status of the order to Worksheet in order to accommodate the modification of letter of credit information for purchase orders in the system that have been submitted or approved. Validation of updated information is performed before automatic order re-approval is attempted.

For more details on Purchase Orders, see the Create Purchase Order service description.

Service Type
POST
ReST URL
MerchIntegrations/services/purchaseOrder/lettersOfCredit/create
Input Payload Details

Table 5-1236 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of letter of
Objectcredit records.

Table 5-1237 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNoYesNumber (12)The unique identifer for the order.
supplierNoNumber (10)The identifer of the supplier from
which the order will be sourced. This
cannot be modifed if details exist for
the PO.

Table 5-1237 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
currencyCodeNoString (3)The code of the order’s currency. If
not populated, the supplier’s
currency will be used. This feld can
be modifed if the order status is
worksheet or approved and the order
has not been shipped.
termsNoString (15)The sales terms of the order. If not
populated on the create message, will
default to the supplier’s terms. This
can be modifed in worksheet or
approved status.
notBeforeDateNodateThe frst date that delivery will be
accepted. This can be modifed in
worksheet or approved status.
notAfterDateNodateThe last date that delivery will be
accepted. This can be modifed in
worksheet or approved status.
otbEowDateNodateThe end of week date of the OTB
bucket used. This can be modifed in
worksheet or approved status.
deptNoNumber (4)The department in which are all the
items on the order. This feld is
required if the system enforces single
department ordering. This cannot be
modifed if details exist for the PO.
statusNoString (1)The code for the status of the order.
Valid values are ‘W’ worksheet and ‘A’
approved for PO creation. It is also
possible to modify the status to ‘C’
closed.
includeOnOrderIndNoString (1)Indicates if the order should be
included in on-order calculations.
This can be modifed in worksheet or
approved status. Valid values are Y
and N.
writtenDateNodateThe date the order was created. If this
feld is not populated on the message
it will default to the time of creation
in RMS. It cannot be modifed.
originNoString (2)Indicates where the order originated.
Valid values include: 2 - Manual, 6 -
AIP generated order, 7 , 8, 12 -
Consignment Vendor Order.
ediPoIndNoString (1)Indicates whether or not the order
will be transmitted to the supplier via
an Electronic Data Exchange
transaction. Valid values are: Y =
Submit via EDI, N = Do not use EDI.

Table 5-1237 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
preMarkIndNoString (1)This feld indicated whether or not a
supplier has agreed to break an order
into separate boxes so that the boxes
can be sent directly to stores. Valid
values are Y and N.
approvedByNoString (254)Indicates where the order was
approved. It will be the user ID of the
person approving the order.
commentDescNoString (2000)Any comments pertaining to the
order.
dataLoadingDestinationNoString (6)This feld indicates if the order will be
created in RMS or the staging tables.
Valid values are RMS or STG. If not
defned, the default is STG.
masterOrderNoNoNumber (12)This feld indicates the master order
number from which child records
were created.
ladingPortNoString (5)This feld indicates the port from
which the items on the purchase
order are shipped.
dischargePortNoString (5)This feld indicates the port at which
the items on the purchase order will
enter the country of import.
factoryNoString (10)This feld indicates the factory at
which the items on the purchase
order are made.
agentNoString (10)This feld indicates the agent that is
used in the purchase of the items on
the purchase order.
shipMethodNoString (6)This feld indicates the method used
to ship the items on the purchase
order from the country of origin to
the country of import.
partnerType1NoString (6)This feld indicates Partner 1 Type.
partner1NoString (10)This feld indicates the Additional
Partner 1.
partnerType2NoString (6)This feld indicates Partner 2 Type.
partner2NoString (10)This feld indicates the Additional
Partner 2.
partnerType3NoString (6)This feld indicates Partner 3 Type.
partner3NoString (10)This feld indicates the Additional
Partner 3.
importCountryNoString (3)The identifer of the country into
which the items on the order are
being imported.

Table 5-1237 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
purchaseTypeNoString (6)This feld indicates whats included in
the suppliers cost of the item. Valid
values include C (Cost), CI (Cost and
Insurance), CIF (Cost, Insurance and
Freight) and FOB (Free on Board).
paymentMethodNoString (6)This feld indicates the default
method for how purchase orders for
this site will be paid. Valid values are
in the code type PYMT(Payment
Method). Examples are Open
Account(OA), Letter of Credit(LC) and
Wire Transfer(WT).
titlePassLocationTypeNoString (2)Contains the code indicating the type
of location or point where ownership
of merchandise changes hands from
seller/supplier to buyer/retailer. Valid
values are found under the FOBT
code type. Examples are City and
State (AC), Country Of Sourcing (CA)
and City (CI).
titlePassLocationNoString (250)Contains the description of the
location or point where ownership of
merchandise changes hands from
seller/supplier to buyer/retailer.
purchaseOrderTypeNoString (4)This feld contains the value
associated with the PO_TYPE for the
order.
orderTypeNoString (3)Indicates the type of order and which
Open To Buy bucket will be updated.
Valid values include: N/B - Non Basic,
ARB - Automatic Reorder of Basic,
BRB - Buyer Reorder of Basic, DSD -
Direct Store Delivery
buyerNoNumber (4)Contains the number associated with
the buyer for the order.
locationNoNumber (10)This feld contains the location all
items on the order will be delivered
to if populated. i. e. It will mean a
single location order.
locationTypeNoString (1)This feld contains the type of location
in the location feld. Valid values are:
Valid values are S (Store) or W
(Warehouse).
promotionNoNumber (10)Contains the RPCS offer ID associated
with the order to provide a link
between the order dialog and the
promotions dialog.
qualityControlIndNoString (1)Determines whether or not quality
control will be required when items
for this order are received. Valid
values are Y and N.

Table 5-1237 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
freightTermsNoString (30)Indicator that references what freight
terms are related to the order.
backhaulTypeNoString (6)This feld contains the type of
backhaul allowance that will be
applied to the order. Some examples
are Calculated or Flat rate.
backhaulAllowanceNoNumber
(20,4)
This feld will contain the backhaul
allowance value.
shipPayMethodNoString (2)Code indicating the payment terms
for freight charges associated with
the order. Valid values include: CC -
Collect, CF - Collect Freight Credited
Back to Customer, DF - Defned by
Buyer and Seller, MX - Mixed, PC -
Prepaid but Charged to Customer, PO
- Prepaid Only, PP - Prepaid by Seller.
transportationResponsibility
Type
NoString (2)Contains the code indicating the type
of location or point at which the
responsibility for transportation
transfers from the seller/supplier to
the buyer/retailer. Valid values are
found under the FOBT code type.
Examples are City and State (AC),
Country Of Sourcing (CA) and
Country (CC).
transportationResponsibilityNoString (250)Contains the description of the
location or point at which the
responsibility for transportation
transfers from the seller/supplier to
the buyer/retailer.
vendorOrderNoNoString (15)Contains the vendors unique
identifying number for an order.
These orders may have originated by
the vendor through the EDI process
or this number can be associated to a
Oracle Retail order when the order is
created on-line.
freightContractNoNoString (10)The number of the contract with a
shipper that will give specifc freight
rates. This feld is only available
when the system is running Import
functionality.
pickupLocationNoString (250)Contains the location at which the
order will be picked up, if the order is
a Pickup order.
pickupNoNoString (25)Contains the reference number of the
Pickup order.
pickupDateNodateContains the date when the order can
be picked up from the Supplier. This
feld is only required if the Purchase
Type of the order is Pickup.

Table 5-1237 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
appointmentDateTimeNodate-timeThis column will hold the date and
time of the receiving appointment at
the warehouse.
importTypeNoString (1)Valid values are IMporter and
EXporter. This is the default importer/
exporter assigned to the supplier of
the Puchase order.
importIdNoNumber (10)This identifes the importer/exporter
assigned to the supplier. This should
reference the WH. WH folumn with
foreign key created.
clearingZoneIdNoString (5)This column will hold the clearing
zone id.
routingLocationNoString (5)This is the default routing location for
the import order. FK on OUTLOC.
OUTLOC_ID.
reApproveIndNoString (1)This feld indicates that the update to
the corresponding purchase order
needs to be performed, and then it
should be approved again. Valid
values are Y and N.
earliestShipDateNodateThe date before which the item can
not be shipped by the supplier.
latestShipDateNodateThe date after which the item can not
be shipped by the supplier.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes at the order header
level. This collection is treated as a
single group and should include all
named fexible attributes for the
business entity. If any confgured
named attribute is missing from the
input collection, its value will be set
to NULL.
letterOfCreditNoRecordReferences the letter of credit for the
purchase order.

Table 5-1238 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.

Table 5-1239 LetterOfCredit - Object. See list of elements for detail

Element NameRequiredData TypeDescription
lcReferenceIdNoNumber (8)This feld contains the ID of the LC to
which the order is attached.
lcGroupIdNoString (10)This feld contains an ID that can be
used to group Orders together so that
they can be attached to a single Letter
of Credit.
applicantYesString (10)This feld contains the ID of the
applicant being used for the LC
process.
benefciaryYesNumber (10)This feld contains the ID of the
benefciary being used for the LC
process.
merchandiseDescriptionYesString (2000)This feld holds a description of the
merchandise on the order.
transshipmentIndYesString (1)This feld indicates whether or not
the LC to which the order is attached
will allow the order to be
transshipped. Valid values are ‘Y’es
and ‘N’o.
partialShipmentIndYesString (1)This feld indicates whether or not
the LC to which the order is attached
will allow the order to be partially
shipped. Valid values are ‘Y’es and
’N’o.
lcAttachedIndYesString (1)This feld indicates whether or not
the order has been attached to a
Letter of Credit. Valid values are Y
and N.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "orderNo": 464690012,
      "supplier": 2400,
      "currencyCode": "USD",
      "terms": "02",
      "notBeforeDate": "2001-12-31",
      "notAfterDate": "2001-12-31",
      "otbEowDate": "2001-12-31",
      "dept": null,
      "status": "A",
      "includeOnOrderInd": "Y",
      "writtenDate": "2001-12-31",
      "origin": "2",
      "ediPoInd": "Y",
      "preMarkInd": "Y",
      "approvedBy": "RMS_ADMIN",
      "commentDesc": "Create Order",
      "dataLoadingDestination": "RMS",
      "masterOrderNo": null,
      "ladingPort": "7",
      "dischargePort": "480",
      "factory": "100",
      "agent": "007",
      "shipMethod": "32",
      "partnerType1": "AG",
      "partner1": "007",
      "partnerType2": "E",
      "partner2": "4678",
      "partnerType3": null,
      "partner3": null,
      "importCountry": "US",
      "purchaseType": "FOB",
      "paymentMethod": "LC",
      "titlePassLocationType": "FF",
      "titlePassLocation": "US",
      "purchaseOrderType": "4000",
      "orderType": "N/B",
      "buyer": 1000,
      "location": null,
      "locationType": null,
      "promotion": 41,
      "qualityControlInd": "Y",
      "freightTerms": "03",
      "backhaulType": null,
      "backhaulAllowance": null,
      "shipPayMethod": "PO",
      "transportationResponsibilityType": "FF",
      "transportationResponsibility": "US",
      "vendorOrderNo": "9987001",
      "freightContractNo": "111",
      "pickupLocation": null,
      "pickupNo": null,
      "pickupDate": null,
      "appointmentDateTime": "2001-12-31T23:59:59.123Z",
      "importType": "W",
      "importId": 10001,
      "clearingZoneId": null,
      "routingLocation": null,
      "reApproveInd": null,
      "earliestShipDate": "2001-12-31",
      "latestShipDate": "2001-12-31",
      "customFlexAttribute": [
        {
          "name": "REVIEW_DATE",
          "value": null,
          "valueDate": "2001-12-31"
        }
      ],
      "letterOfCredit": {
        "lcReferenceId": 10015000,
        "lcGroupId": null,
        "applicant": "500",
        "beneficiary": 2400,
        "merchandiseDescription": "Bath Essentials",
        "transshipmentInd": "Y",
        "partialShipmentInd": "Y",
        "lcAttachedInd": "Y"
      }
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Create Purchase Orders

Functional Area
Purchase Orders
Business Overview

This webservice is used to create purchase orders in order to keep Merchandising in sync with an external system that is responsible for maintaining purchase orders. It creates orders in Worksheet, Approved or Closed status. It also creates other data associated with a purchase order, including letter of credit, expenses, harmonized tariff schedules (HTS) and assessments, and custom flex attributes (CFAS). It also will apply rounding rules, default inventory management parameters, apply bracket costs, update open to buy buckets, and insert a record into the deals queue for deals to be applied to the order, if applicable. If the location specified

on a purchase order is a franchise store, a corresponding franchise order is also created along with the PO.

It is assumed that the source of the orders sent in this service is not the supplier, as vendor managed inventory (VMI) POs can be sent using the Upload Purchase Order and Purchase Order Change Acknowledgements from Suppliers to Merchandising (ediupack) batch upload. It also does not support creating customer order POs or contract POs. Customer order POs are assumed to be sent using the Customer Order Fulfillment Subscription API and contract orders are created using replenishment processes in Merchandising or manually using the UI.

Service Type

POST

ReST URL
MerchIntegrations/services/purchaseOrders/create
Input Payload Details

Table 5-1240 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection ofCollection of orders.
Object

Table 5-1241 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNoYesNumber (12)The unique identifer for the order.
supplierNoNumber (10)The identifer of the supplier from
which the order will be sourced. This
cannot be modifed if details exist for
the PO.
currencyCodeNoString (3)The code of the order’s currency. If
this is not populated, the supplier’s
currency will be used. This feld can
be modifed if the order status is
worksheet or approved and the order
has not been shipped.
termsNoString (15)The sales terms of the order. If this is
not populated on the create message,
will default to the supplier’s terms.
This can be modifed in worksheet or
approved status.
notBeforeDateNodateThe frst date that delivery will be
accepted. This can be modifed in
worksheet or approved status.
notAfterDateNodateThe last date that delivery will be
accepted. This can be modifed in
worksheet or approved status.

Table 5-1241 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
otbEowDateNodateThe end of week date of the OTB
bucket used. This can be modifed in
worksheet or approved status.
deptNoNumber (4)The department in which are all the
items on the order. This feld is
required if the system enforces single
department ordering. This cannot be
modifed if details exist for the PO.
statusNoString (1)The code for the status of the order.
Valid values are ‘W’ worksheet and ‘A’
approved for PO creation. It is also
possible to modify the status to ‘C’
closed.
exchangeRateNoNumber
(20,10)
The rate of exchange for the PO used
between the order and primary
currencies. This feld can be modifed
if the order status is worksheet or
approved and the order has not been
shipped.
includeOnOrderIndNoString (1)Indicates if the order should be
included in on-order calculations.
This can be modifed in worksheet or
approved status. Valid values are Y
and N.
writtenDateNodateThe date the order was created. If this
feld is not populated on the message
it will default to the time of creation
in RMS. It cannot be modifed.
originNoString (2)Indicates where the order originated.
Valid values include: 2 - Manual, 6 -
AIP generated order, 7 , 8, 12 -
Consignment Vendor Order.
ediPoIndNoString (1)Indicates whether or not the order
will be transmitted to the supplier via
an Electronic Data Exchange
transaction. Valid values are: Y =
Submit via EDI, N = Do not use EDI.
preMarkIndNoString (1)This feld indicated whether or not a
supplier has agreed to break an order
into separate boxes so that the boxes
can be sent directly to stores. Valid
values are Y and N.
approvedByNoString (254)Indicates where the order was
approved. It will be the user ID of the
person approving the order.
commentDescNoString (2000)Any comments pertaining to the
order.
dataLoadingDestinationNoString (6)This feld indicates if the order will be
created in RMS or the staging tables.
Valid values are RMS or STG. If this is
not defned, the default is STG.

Table 5-1241 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData Type
Description
masterOrderNoNoNumber (12)This feld indicates the master order
number from which child records
were created.
ladingPortNoString (5)This feld indicates the port from
which the items on the purchase
order are shipped.
dischargePortNoString (5)This feld indicates the port at which
the items on the purchase order will
enter the country of import.
factoryNoString (10)This feld indicates the factory at
which the items on the purchase
order are made.
agentNoString (10)This feld indicates the agent that is
used in the purchase of the items on
the purchase order.
shipMethodNoString (6)This feld indicates the method used
to ship the items on the purchase
order from the country of origin to
the country of import.
partnerType1NoString (6)This feld indicates Partner 1 Type.
partner1NoString (10)This feld indicates the Additional
Partner 1.
partnerType2NoString (6)This feld indicates Partner 2 Type.
partner2NoString (10)This feld indicates the Additional
Partner 2.
partnerType3NoString (6)This feld indicates Partner 3 Type.
partner3NoString (10)This feld indicates the Additional
Partner 3.
importCountryNoString (3)The identifer of the country into
which the items on the order are
being imported.
purchaseTypeNoString (6)This feld indicates what is included
in the suppliers cost of the item. Valid
values include C (Cost), CI (Cost and
Insurance), CIF (Cost, Insurance and
Freight) and FOB (Free on Board).
paymentMethodNoString (6)This feld indicates the default
method for how purchase orders for
this site will be paid. Valid values are
in the code type PYMT(Payment
Method). Examples are Open
Account(OA), Letter of Credit(LC) and
Wire Transfer(WT).

Table 5-1241 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
titlePassLocationTypeNoString (2)Contains the code indicating the type
of location or point where ownership
of merchandise changes hands from
seller/supplier to buyer/retailer. Valid
values are found under the FOBT
code type. Examples are City and
State (AC), Country Of Sourcing (CA)
and City (CI).
titlePassLocationNoString (250)Contains the description of the
location or point where ownership of
merchandise changes hands from
seller/supplier to buyer/retailer.
purchaseOrderTypeNoString (4)This feld contains the value
associated with the PO_TYPE for the
order.
orderTypeNoString (3)Indicates the type of order and which
Open To Buy bucket will be updated.
Valid values include: N/B - Non Basic,
ARB - Automatic Reorder of Basic,
BRB - Buyer Reorder of Basic, DSD -
Direct Store Delivery
buyerNoNumber (4)Contains the number associated with
the buyer for the order.
locationNoNumber (10)This feld contains the location all
items on the order will be delivered
to if populated. i. e. It will mean a
single location order.
locationTypeNoString (1)This feld contains the type of location
in the location feld. Valid values are:
Valid values are S (Store) or W
(Warehouse).
promotionNoNumber (10)Contains the RPCS offer ID associated
with the order to provide a link
between the order dialog and the
promotions dialog.
qualityControlIndNoString (1)Determines whether or not quality
control will be required when items
for this order are received. Valid
values are Y and N.
freightTermsNoString (30)Indicator that references what freight
terms are related to the order.
backhaulTypeNoString (6)This feld contains the type of
backhaul allowance that will be
applied to the order. Some examples
are Calculated or Flat rate.
backhaulAllowanceNoNumber
(20,4)
This feld will contain the backhaul
allowance value.

Table 5-1241 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
shipPayMethodNoString (2)Code indicating the payment terms
for freight charges associated with
the order. Valid values include: CC -
Collect, CF - Collect Freight Credited
Back to Customer, DF - Defned by
Buyer and Seller, MX - Mixed, PC -
Prepaid but Charged to Customer, PO
- Prepaid Only, PP - Prepaid by Seller.
transportationResponsibility
Type
NoString (2)Contains the code indicating the type
of location or point at which the
responsibility for transportation
transfers from the seller/supplier to
the buyer/retailer. Valid values are
found under the FOBT code type.
Examples are City and State (AC),
Country Of Sourcing (CA) and
Country (CC).
transportationResponsibilityNoString (250)Contains the description of the
location or point at which the
responsibility for transportation
transfers from the seller/supplier to
the buyer/retailer.
vendorOrderNoNoString (15)Contains the vendors unique
identifying number for an order.
These orders may have originated by
the vendor through the EDI process
or this number can be associated to
an Oracle Retail order when the
order is created on-line.
freightContractNoNoString (10)The number of the contract with a
shipper that will give specifc freight
rates. This feld is only available
when the system is running Import
functionality.
pickupLocationNoString (250)Contains the location at which the
order will be picked up, if the order is
a Pickup order.
pickupNoNoString (25)Contains the reference number of the
Pickup order.
pickupDateNodateContains the date when the order can
be picked up from the Supplier. This
feld is only required if the Purchase
Type of the order is Pickup.
appointmentDateTimeNodate-timeThis column will hold the date and
time of the receiving appointment at
the warehouse.
importTypeNoString (1)Valid values are IMporter and
EXporter. This is the default importer/
exporter assigned to the supplier of
the Purchase order.

Table 5-1241 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
importIdNoNumber (10)This identifes the importer/exporter
assigned to the supplier. This should
reference the WH. WH column with
foreign key created.
clearingZoneIdNoString (5)This column will hold the clearing
zone id.
routingLocationNoString (5)This is the default routing location for
the import order. FK on OUTLOC.
OUTLOC_ID.
reApproveIndNoString (1)This feld indicates that the update to
the corresponding purchase order
needs to be performed, and then it
should be approved again. Valid
values are Y and N.
earliestShipDateNodateThe date before which the item can
not be shipped by the supplier.
latestShipDateNodateThe date after which the item can not
be shipped by the supplier.
fleIdNoString (20)In order to support supplier pooling
via the buyer worksheet, the
recommended order quantities for
the individual suppliers are linked
together for logistical purposes while
generating orders from the
worksheet based on this identifer.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes at the order header
level. This collection is treated as a
single group and should include all
named fexible attributes for the
business entity. If any confgured
named attribute is missing from the
input collection, its value will be set
to NULL.
detailsNoCollection of
Object
This references the order detail node.
itemDetailsNoCollection of
Object
This references the collection of items
in the order.
letterOfCreditNoRecordReferences the letter of credit for the
purchase order.
expensesNoCollection of
Object
References the expense associated
with a particular item/location of the
purchase order.
htsNoCollection of
Object
References the HTS code associated
with a particular item of the purchase
order.

Table 5-1242 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemNoString (25)An approved, transaction level item.
If a pack, it must be an orderable
pack (with an order_as_type of ‘P’).
This is required if the ref_item feld is
not populated. An item/location may
be added to the order in worksheet or
approved status.
locationYesNumber (10)An active store or warehouse. If
multichannel is on, and a warehouse
is being order to, a virtual warehouse
is expected. An item/location may be
added to the order in worksheet or
approved status.
locationTypeNoString (1)The location type of the location.
Valid values are ‘S’ store and ‘W’
warehouse. This feld cannot be
modifed.
unitCostNoNumber
(20,4)
The cost of the item from the supplier
in the order’s currency. This can be
modifed if the status is worksheet or
approved, but not if any portion of
the item’s order quantity is in transit
or has been received. If it is not
specifed on the message, it will
default from the item supplier cost
for this location.
referenceItemNoString (25)The id of a reference item which can
be used instead of using the item
feld. If the item feld is not populated
this feld is required. A ref item/
location may be added to the order in
worksheet or approved status.
originCountryNoString (3)The identifer of the country from
which the item is being sourced. This
feld cannot be modifed.
supplierPackSizeNoNumber
(12,4)
The supplier pack size for the item on
the order. This may be updated in
worksheet or approved status.
quantityOrderedNoNumber
(12,4)
The quantity ordered of item. This
can be updated in worksheet or
approved status to adjust the quantity
of an item/location or cancel an item/
location from the order.
cancelIndNoString (1)Indicates if the detail record’s
quantity should be cancelled. Valid
values are ‘Y’es and ‘N’o.
reinstateIndNoString (1)Indicates if a detail record which was
previously cancelled should be
reinstated. This will reinstate in the
order quantity the amount in the
cancelled bucket. Valid values are
’Y’es and ‘N’o.

Table 5-1242 (Cont.) Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
deliveryDateNodateThe date by which goods are to be
delivered. There can be multiple
item-locations on the order with
different delivery dates.
quantityCancelledNoNumber
(12,4)
This feld contains the quantity that
was left to be ordered when the line
item was cancelled.
cancelCodeNoString (1)This feld contains the reason that the
line item was cancelled. This feld is
required if a line item is cancelled.
estimatedInstockDateNodateDate that the item on the PO is
expected to be available to ship from
the PO location to another location. It
is calculated as the Order Creation or
Approval Date + Supplier Lead Time +
Transit Days between the Supplier
and the PO/location + Item/
Warehouse Inbound Handling Days
(if PO location is a warehouse).
earliestShipDateNodateThe date before which the item can
not be shipped by the supplier.
latestShipDateNodateThe date after which the item can not
be shipped by the supplier.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes at the order header
level. This collection is treated as a
single group and should include all
named fexible attributes for the
business entity. If any confgured
named attribute is missing from the
input collection, its value will be set
to NULL.

Table 5-1243 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.

Table 5-1244 ItemDetails - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemNoString (25)An approved, transaction level item.
If a pack, it must be an orderable
pack (with an order_as_type of ‘P’).
This is required if the ref_item feld is
not populated. An item/location may
be added to the order in worksheet or
approved status.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes. This collection is
treated as a single group and should
include all named fexible attributes
for the business entity. If any
confgured, named attribute is
missing from the input collection, its
value will be set to NULL.

Table 5-1245 LetterOfCredit - Object. See list of elements for detail

Element NameRequiredData TypeDescription
lcReferenceIdNoNumber (8)This feld contains the ID of the LC to
which the order is attached.
lcGroupIdNoString (10)This feld contains an ID that can be
used to group Orders together so that
they can be attached to a single Letter
of Credit.
applicantYesString (10)This feld contains the ID of the
applicant being used for the LC
process.
benefciaryYesNumber (10)This feld contains the ID of the
benefciary being used for the LC
process.
merchandiseDescriptionYesString (2000)This feld holds a description of the
merchandise on the order.
transshipmentIndYesString (1)This feld indicates whether or not
the LC to which the order is attached
will allow the order to be
transshipped. Valid values are ‘Y’es
and ‘N’o.
partialShipmentIndYesString (1)This feld indicates whether or not
the LC to which the order is attached
will allow the order to be partially
shipped. Valid values are ‘Y’es and
’N’o.
lcAttachedIndYesString (1)This feld indicates whether or not
the order has been attached to a
Letter of Credit. Valid values are Y
and N.

Table 5-1246 Expenses - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)This feld contains alphanumeric
value that uniquely identifes the
item.
packItemNoString (25)This feld contains alphanumeric
value that uniquely identifes the
pack.
locationYesNumber (10)This feld contains the location that
item will be ordered to. This feld may
contain a store or a warehouse.
locationTypeYesString (1)This feld contains the type of location
in the location feld. Valid values are:
S - Store W - Warehouse.
componentYesString (10)This feld contains a user specifed
code representing a specifc expense
found on the ELC_COMP table.
computationValueBaseNoString (10)This feld contains a code
representing the base value for
calculating the expense.
calculationBasisNoString (1)This feld contains the basis the
expense will be calculated against if
there is no CVB code attached to the
expense. Valid values are S (Supplier)
or O (Order). If the Cost Basis is S then
when calculating the expense, the
items supplier cost will be used. If the
Cost Basis is O then the order unit
cost of the item on the order will be
used to calculate the expense. The
code type for this feld is EXCB.
componentRateYesNumber
(20,4)
This feld contains the rate to be
charged against the calculation base
of the component (either value or
specifc).
componentCurrencyYesString (3)This feld contains the currency the
expense or assessment is to be
entered in. If the Calculation Basis is
V (Value), then comp_currency will be
NULL.
exchangeRateNoNumber
(20,10)
This feld contains the exchange rate
of the individual expense.
perCountNoNumber
(12,4)
This feld contains a count indicating
the amount of the Per Count Unit of
Measure to which the rate applies.
When creating an expense that is
defned as $. 20 for every 10
kilograms of an item ordered, the Per
Count would be 10.

Table 5-1246 (Cont.) Expenses - Object. See list of elements for detail

Element NameRequiredData TypeDescription
perCountUomNoString (4)This feld contains the unit of
measure in which the Per Count is
specifed. When creating an expense
that is defned as $. 20 for every 10
kilograms of an item ordered, the Per
Count UOM would be the Unit of
Measure code for Kilograms.
nominationFlag1YesString (1)This feld contains a fag that is used
to indicate if the value of the cost
component should be included in the
calculation of another. Nomination
fags are used to calculate the value
of a Computation Value Base (CVB)
which has the corresponding
nomination fag set to Yes (Y). Valid
values are: N/A (N) (the value of this
component will not be included in
CVBs which look at Nomination Flag
1), Add (+) (the value of this
component will be added to CVBs
which look at Nomination Flag 1),
and Subtract (-) (the value of this
component will be deducted from
CVBs which look at Nomination Flag
1). For example, if cost component
ABC has a + in Nomination Flag 1,
then all CVBs that include
Nomination Flag 1 will include this
cost component value in their
calculation basis.
inDutyYesString (1)See description for nom_fag_1. If ALC
is turned on (i. e. system_options.
import_ind = Y), nom_fag_2 is used to
indicate the status of a component in
duty calculation nom_fag_4 is used to
indicate the status of a component in
ELC calculation nom_fag_5 is used to
indicate the status of a component in
ALC calculation i. e. these 3 fags can
not be used for any other purposes if
ALC is turned on.

Table 5-1246 (Cont.) Expenses - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nominationFlag3YesString (1)This feld contains a fag that is used
to indicate if the value of the cost
component should be included in the
calculation of another. Nomination
fags are used to calculate the value
of a Computation Value Base (CVB)
which has the corresponding
nomination fag set to Yes (Y). Valid
values are: N/A (N) (the value of this
component will not be included in
CVBs which look at Nomination Flag
3), Add (+) (the value of this
component will be added to CVBs
which look at Nomination Flag 3),
and Subtract (-) (the value of this
component will be deducted from
CVBs which look at Nomination Flag
3). For example, if cost component
ABC has a + in Nomination Flag 3,
then all CVBs that include
Nomination Flag 3 will include this
cost component value in their
calculation basis.
inExpenseYesString (1)See description for nom_fag_1. If ALC
is turned on (i. e. system_options.
import_ind = Y), nom_fag_2 is used to
indicate the status of a component in
duty calculation nom_fag_4 is used to
indicate the status of a component in
ELC calculation nom_fag_5 is used to
indicate the status of a component in
ALC calculation i. e. these 3 fags can
not be used for any other purposes if
ALC is turned on.
inAlcYesString (1)See description for nom_fag_1. If ALC
is turned on (i. e. system_options.
import_ind = Y), nom_fag_2 is used to
indicate the status of a component in
duty calculation nom_fag_4 is used to
indicate the status of a component in
ELC calculation nom_fag_5 is used to
indicate the status of a component in
ALC calculation i. e. these 3 fags can
not be used for any other purposes if
ALC is turned on.

Table 5-1247 Hts - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)This feld contains an unique
alphanumeric value that identifes
the item.

Table 5-1247 (Cont.) Hts - Object. See list of elements for detail

Element NameRequiredData TypeDescription
packItemNoString (25)This feld contains alphanumeric
value that uniquely identifes the
pack.
htsYesString (25)This feld contains an identifer for
the Harmonized Tariff Schedule code.
statusYesString (1)This feld contains a fag to indicate
the status of the Purchase Order/
Item/HTS relationship. Valid values
are (W)orksheet and (A)pproved.
originCountryYesString (3)This feld contains the country of
manufacture when the HTS tracking
level is M. When the HTS tracking
level is S, this stores the country of
sourcing.
importCountryNoString (3)This feld contains the country that
the item will be imported in to.
assessmentsNoCollection of
Object
References the HTS code assessments
associated with a particular item of
the purchase order.

Table 5-1248 Assessments - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentYesString (10)This feld contains a user specifed
code representing the specifc
assessment component found on the
ELC_COMP table.
computationValueBaseNoString (10)This feld contains a code
representing the base value for
calculating the assessment.
componentRateYesNumber
(20,4)
This feld contains the rate to be
charged against the calculation base.
This feld will hold a percentage value
if the Calculation Basis of the
Component is Value or a monetary
amount in the currency defned for
the assessment (usually the import
country’s currency) if the Calculation
Basis is Specifc.
perCountNoNumber
(12,4)
This feld contains a count indicating
the amount of the Per Count Unit of
Measure to which the rate applies.
When creating an expense that is
defned as $. 20 for every 10
kilograms of an item ordered, the Per
Count would be 10.

Table 5-1248 (Cont.) Assessments - Object. See list of elements for detail

Element NameRequiredData TypeDescription
perCountUomNoString (4)This feld contains the unit of
measure in which the Per Count is
specifed. When creating an expense
that is defned as $. 20 for every 10
kilograms of an item ordered, the Per
Count UOM would be the Unit of
Measure code for Kilograms.
nominationFlag1YesString (1)This feld contains a fag that is used
to indicate if the value of the cost
component should be included in the
calculation of another. Nomination
fags are used to calculate the value
of a Computation Value Base (CVB)
which has the corresponding
nomination fag set to Yes (Y). Valid
values are: N/A (N) (the value of this
component will not be included in
CVBs which look at Nomination Flag
1), Add (+) (the value of this
component will be added to CVBs
which look at Nomination Flag 1),
and Subtract (-) (the value of this
component will be deducted from
CVBs which look at Nomination Flag
1). For example, if cost component
ABC has a + in Nomination Flag 1,
then all CVBs that include
Nomination Flag 1 will include this
cost component value in their
calculation basis.
inDutyYesString (1)See description for nom_fag_1. If ALC
is turned on (i. e. system_options.
import_ind = Y), nom_fag_2 is used to
indicate the status of a component in
duty calculation nom_fag_4 is used to
indicate the status of a component in
ELC calculation nom_fag_5 is used to
indicate the status of a component in
ALC calculation i. e. these 3 fags can
not be used for any other purposes if
ALC is turned on.

Table 5-1248 (Cont.) Assessments - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nominationFlag3YesString (1)This feld contains a fag that is used
to indicate if the value of the cost
component should be included in the
calculation of another. Nomination
fags are used to calculate the value
of a Computation Value Base (CVB)
which has the corresponding
nomination fag set to Yes (Y). Valid
values are: N/A (N) (the value of this
component will not be included in
CVBs which look at Nomination Flag
3), Add (+) (the value of this
component will be added to CVBs
which look at Nomination Flag 3),
and Subtract (-) (the value of this
component will be deducted from
CVBs which look at Nomination Flag
3). For example, if cost component
ABC has a + in Nomination Flag 3,
then all CVBs that include
Nomination Flag 3 will include this
cost component value in their
calculation basis.
inExpenseYesString (1)See description for nom_fag_1. If ALC
is turned on (i. e. system_options.
import_ind = Y), nom_fag_2 is used to
indicate the status of a component in
duty calculation nom_fag_4 is used to
indicate the status of a component in
ELC calculation nom_fag_5 is used to
indicate the status of a component in
ALC calculation i. e. these 3 fags can
not be used for any other purposes if
ALC is turned on.
inAlcYesString (1)See description for nom_fag_1. If ALC
is turned on (i. e. system_options.
import_ind = Y), nom_fag_2 is used to
indicate the status of a component in
duty calculation nom_fag_4 is used to
indicate the status of a component in
ELC calculation nom_fag_5 is used to
indicate the status of a component in
ALC calculation i. e. these 3 fags can
not be used for any other purposes if
ALC is turned on.
Sample Input Message
{
  "items": [
    {
      "orderNo": 464690012,
      "supplier": 2400,
      "currencyCode": "USD",
      "terms": "02",
      "notBeforeDate": "2001-12-31",
      "notAfterDate": "2001-12-31",
      "otbEowDate": "2001-12-31",
      "dept": null,
      "status": "A",
      "exchangeRate": 2,
      "includeOnOrderInd": "Y",
      "writtenDate": "2001-12-31",
      "origin": "2",
      "ediPoInd": "Y",
      "preMarkInd": "Y",
      "approvedBy": null,
      "commentDesc": "Create Order",
      "dataLoadingDestination": "RMS",
      "masterOrderNo": null,
      "ladingPort": "7",
      "dischargePort": "480",
      "factory": "100",
      "agent": "007",
      "shipMethod": "32",
      "partnerType1": "AG",
      "partner1": "007",
      "partnerType2": "E",
      "partner2": "4678",
      "partnerType3": null,
      "partner3": null,
      "importCountry": "US",
      "purchaseType": "FOB",
      "paymentMethod": "LC",
      "titlePassLocationType": "FF",
      "titlePassLocation": "US",
      "purchaseOrderType": "4000",
      "orderType": "N/B",
      "buyer": 1000,
      "location": null,
      "locationType": null,
      "promotion": 41,
      "qualityControlInd": "Y",
      "freightTerms": "03",
      "backhaulType": null,
      "backhaulAllowance": null,
      "shipPayMethod": "PO",
      "transportationResponsibilityType": "FF",
      "transportationResponsibility": "US",
      "vendorOrderNo": "9987001",
      "freightContractNo": "111",
      "pickupLocation": null,
      "pickupNo": null,
      "pickupDate": null,
      "appointmentDateTime": "2001-12-31T23:59:59.123Z",
      "importType": "W",
      "importId": 10001,
      "clearingZoneId": null,
      "routingLocation": null,
      "reApproveInd": null,
      "earliestShipDate": "2001-12-31",
      "latestShipDate": "2001-12-31",
      "fileId": "String",
      "customFlexAttribute": [
        {
          "name": "REVIEW_DATE",
          "value": null,
          "valueDate": "2001-12-31"
        }
      ],
      "details": [
        {
          "item": "103900095",
          "location": 10001,
          "locationType": "W",
          "unitCost": 45.2,
          "referenceItem": null,
          "originCountry": "IN",
          "supplierPackSize": 1,
          "quantityOrdered": 25,
          "cancelInd": null,
          "reinstateInd": null,
          "deliveryDate": "2001-12-31",
          "quantityCancelled": null,
          "cancelCode": null,
          "estimatedInstockDate": "2001-12-31",
          "earliestShipDate": "2001-12-31",
          "latestShipDate": "2001-12-31",
          "customFlexAttribute": [
            {
              "name": "REVIEW_DATE",
              "value": null,
              "valueDate": "2001-12-31"
            }
          ]
        }
      ],
      "itemDetails": [
        {
          "item": "103900095",
          "customFlexAttribute": [
            {
              "name": "REVIEW_DATE",
              "value": null,
              "valueDate": "2001-12-31"
            }
          ]
        }
      ],
      "letterOfCredit": {
        "lcReferenceId": 10015000,
        "lcGroupId": null,
        "applicant": "500",
        "beneficiary": 2400,
        "merchandiseDescription": "Bath Essentials",
        "transshipmentInd": "Y",
        "partialShipmentInd": "Y",
        "lcAttachedInd": "Y"
      },
      "expenses": [
        {
          "item": "103900095",
          "packItem": null,
          "location": 10001,
          "locationType": "W",
          "component": "OCFRT",
          "computationValueBase": null,
          "calculationBasis": null,
          "componentRate": 17,
          "componentCurrency": "INR",
          "exchangeRate": 29,
          "perCount": 1,
          "perCountUom": "M3",
          "nominationFlag1": "N",
          "inDuty": "N",
          "nominationFlag3": "N",
          "inExpense": "+",
          "inAlc": "N"
        }
      ],
      "hts": [
        {
          "item": "103900095",
          "packItem": null,
          "hts": "9014111112",
          "status": "W",
          "originCountry": "IN",
          "importCountry": "US",
          "assessments": [
            {
              "component": "DTYCAUS",
              "computationValueBase": null,
              "componentRate": 12,
              "perCount": 1,
              "perCountUom": "EA",
              "nominationFlag1": "N",
              "inDuty": "+",
              "nominationFlag3": "-",
              "inExpense": "N",
              "inAlc": "N"
            }
          ]
        }
      ]
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Delete Purchase Order Details

Functional Area
Purchase Orders
Business Overview

This webservice is used to delete line items from purchase orders in the worksheet status in order to keep Merchandising in sync with an external system that is responsible for maintaining purchase orders. For orders that are not in worksheet status, when a detail delete is requested, it will update the quantities to cancelled quantities and will be subject for re-approval.

For more details on Purchase Orders, see the Create Purchase Order service description.

Service Type

DELETE

ReST URL
MerchIntegrations/services/purchaseOrder/details/delete
Input Payload Details

Table 5-1249 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of
Object

Table 5-1250 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNoYesNumber (12)The unique identifer for the order.
dataLoadingDestinationNoString (6)This feld indicates if the order will be
created in RMS or the staging tables.
Valid values are RMS or STG. If not
defned, the default is STG.
detailsNoCollection of
Object
This references the order detail node.

Table 5-1251 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemNoString (25)An approved, transaction level item.
If a pack, it must be an orderable
pack (with an order_as_type of ‘P’).
locationYesNumber (10)An active store or warehouse. If
multichannel is on, and a warehouse
is being order to, a virtual warehouse
is expected.
referenceItemNoString (25)The id of a reference item which can
be used instead of using the item
feld. If the item feld is not populated
this feld is required.
Sample Input Message
{
  "items": [
    {
      "orderNo": 464690012,
      "dataLoadingDestination": "RMS",
      "details": [
        {
          "item": "100000323",
          "location": 10001,
          "referenceItem": null
        }
      ]
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Delete Purchase Order Expenses

Functional Area
Purchase Orders
Business Overview

This webservice is used to delete expense information from the purchase order within Merchandising in order to keep it in sync with an external system that is responsible for maintaining purchase orders. It also updates order header information with the values provided in the request if the order is not yet submitted or approved. Internally, the service sets the status of the order to Worksheet in order to accommodate the modification of expense information for purchase orders in the system that have been submitted or approved. Validation of the updated information is performed before automatic order re-approval is attempted.

For more details on Purchase Orders, see the Create Purchase Order service description.

Service Type

DELETE

ReST URL
MerchIntegrations/services/purchaseOrder/expenses/delete
Input Payload Details

Table 5-1252 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of order
Objectexpenses.

Table 5-1253 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNoYesNumber (12)The unique identifer for the order.
dataLoadingDestinationNoString (6)This feld indicates if the order will be
created in RMS or the staging tables.
Valid values are RMS or STG. If not
defned, the default is STG.
expensesNoCollection of
Object
References the expense associated
with a particular item/location of the
purchase order.

Table 5-1254 Expenses - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)Unique alphanumeric value that
identifes the item.
packItemNoString (25)Alphanumeric value that uniquely
identifes the pack.
locationYesNumber (10)This feld contains the location that
the item was ordered to.
componentYesString (10)This feld contains the component id.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "orderNo": 464690012,
      "dataLoadingDestination": "RMS",
      "expenses": [
        {
          "item": "103900095",
          "packItem": null,
          "location": 10001,
          "component": "OCFRT"
        }
      ]
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Delete Purchase Order HTS

Functional Area
Purchase Orders
Business Overview

This webservice is used to delete Harmonized Tariff Schedules and related assessments within Merchandising in order to keep it in sync with an external system that is responsible for maintaining purchase orders. It also updates order header information with the values provided in the request if the order is not yet submitted or approved. When deleting HTS information from a purchase order that has been submitted or approved, internally, the service sets the status of the order to Worksheet in order to accommodate the change in HTS information.

Validation of the new HTS information is performed before automatic order re-approval is attempted.

For more details on Purchase Orders, see the Create Purchase Order service description.

Service Type

DELETE

ReST URL
MerchIntegrations/services/purchaseOrder/hts/delete
Input Payload Details

Table 5-1255 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of order HTS
records.

Table 5-1256 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNoYesNumber (12)The unique identifer for the order.
dataLoadingDestinationNoString (6)This feld indicates if the order will be
created in RMS or the staging tables.
Valid values are RMS or STG. If not
defned, the default is STG.
htsNoCollection of
Object
References the HTS code associated
with a particular item of the purchase
order.

Table 5-1257 Hts - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)Unique alphanumeric value that
identifes the item.
packItemNoString (25)Alphanumeric value that uniquely
identifes the pack.
htsYesString (25)The unique identifer for the
Harmonized Tariff Schedule code.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "orderNo": 464690012,
      "dataLoadingDestination": "RMS",
      "hts": [
        {
          "item": "103900095",
          "packItem": null,
          "hts": "9014111112"
        }
      ]
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Delete Purchase Order HTS Assessments

Functional Area
Purchase Orders
Business Overview

This webservice is used to delete Harmonized Tariff Schedule assessments within Merchandising in order to keep it in sync with an external system that is responsible for maintaining purchase orders. It also updates order header information with the values provided in the request if the order is not yet submitted or approved. When deleting assessment information from a purchase order that has been submitted or approved, the service internally sets the status of the order to Worksheet in order to accommodate the change in information.

Validation of the new HTS information is performed before automatic order re-approval is attempted.

For more details on Purchase Orders, see the Create Purchase Order service description.

Service Type

DELETE

ReST URL
MerchIntegrations/services/purchaseOrder/hts/assessments/delete
Input Payload Details

Table 5-1258 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of order HTS
Objectassessment records.

Table 5-1259 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNoYesNumber (12)The unique identifer for the order.
dataLoadingDestinationNoString (6)This feld indicates if the order will be
created in RMS or the staging tables.
Valid values are RMS or STG. If not
defned, the default is STG.
htsNoCollection of
Object
References the HTS code associated
with a particular item of the purchase
order.

Table 5-1260 Hts - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)Unique alphanumeric value that
identifes the item.
packItemNoString (25)Alphanumeric value that uniquely
identifes the pack.
htsYesString (25)The unique identifer for the
Harmonized Tariff Schedule code.
assessmentsNoCollection of
Object
References the assessment associated
with the HTS of a particular item in
the purchase order.

Table 5-1261 Assessments - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentYesString (10)This feld contains the component id.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "orderNo": 464690012,
      "dataLoadingDestination": "RMS",
      "hts": [
        {
          "item": "103900095",
          "packItem": null,
          "hts": "9014111112",
          "assessments": [
            {
              "component": "MPFUS"
            }
          ]
        }
      ]
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Delete Purchase Order Letters of Credit

Functional Area
Purchase Orders
Business Overview

This webservice is used to delete letter of credit information within Merchandising when the order payment type is Letter of Credit in order to keep it in sync with an external system that is responsible for maintaining purchase orders.

For more details on Purchase Orders, see the Create Purchase Order service description.

Service Type
DELETE
ReST URL
MerchIntegrations/services/purchaseOrder/lettersOfCredit/delete
Input Payload Details

Table 5-1262 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of letter of
Objectcredit records.

Table 5-1263 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNoYesNumber (12)The unique identifer for the order.
dataLoadingDestinationNoString (6)This feld indicates if the order will be
created in RMS or the staging tables.
Valid values are RMS or STG. If not
defned, the default is STG.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "orderNo": 464690012,
      "dataLoadingDestination": "RMS"
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Delete Purchase Orders

Functional Area
Purchase Orders
Business Overview

This webservice is used to delete purchase orders from Merchandising in sync with an external system that is responsible for maintaining purchase orders. If you are deleting the entire purchase order, this service will first validate that the order number is valid since an existing order number is the only required field for a header delete message. Deleting an order will in effect set the status of the order at the header level to D. Only worksheet orders can be deleted and deletion will not be allowed if the order is submitted, approved or has been approved, or if allocations exist for the order. Delete messages will still be processed, however it will be treated as an update of cancelled quantity and the quantity ordered will be reduced to the quantity available to be cancelled. If this results in all line items being cancelled or if the delete is made at header level, the status of the order will become Closed.

If an order is still in worksheet status, the entire order will be deleted. If the order involves any franchise stores, then any franchise order or return created with the order will also be cancelled or deleted.

For more details on Purchase Orders, see the Create Purchase Order service description.

Service Type

DELETE

ReST URL
MerchIntegrations/services/purchaseOrders/delete
Input Payload Details

Table 5-1264 Delete - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of orders.

Table 5-1265 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNoYesNumber (12)The unique identifer for the order.
dataLoadingDestinationNoString (6)This feld indicates if the order will be
created in RMS or the staging tables.
Valid values are RMS or STG. If not
defned, the default is STG.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "orderNo": 464690012,
      "dataLoadingDestination": "RMS"
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Update Purchase Order Details

Functional Area

Purchase Orders

Business Overview

This webservice is used to update detail level attributes of the purchase order such as order quantities, unit cost and line item cancellation information in order to keep Merchandising in sync with an external system that is responsible for maintaining purchase orders. Order details can be updated for orders in Approved, Worksheet, Submitted or Closed status. The only information needed at the header level is the order number, which if not provided, will cause the message to be rejected. All other details provided at the header level will be ignored. Modifying order quantity, as well as supplier pack size or unit cost on an approved or submitted order will in effect set the order status to worksheet and subject it for automatic re-approval. When modifying order quantities, the full amount should be provided, not just the difference in the old and new values. Validations are also done on quantity changes, such as the ordered quantity should not go below the allocated quantity or replenishment quantity, quantity ordered cannot not be less than quantity received.

Fields that can be modified in worksheet, submitted and approved status:

Supplier Pack Size Unit Cost – for items with no received quantities Quantity Ordered Fields that cannot be modified in statuses other than worksheet: Origin Country ID Location

Fields that can be modified only in approved status:

Quantity Cancelled

Cancel Code

Reinstating order lines

To reinstate orders, the reinstate indicator should be set to Y. In effect, this will set the cancelled quantities of the line items to 0 and reinstate the ordered quantities.

Cancelling a line item in an approved order

In order to cancel a line item on the order, you can set the cancel indicator at the detail level to Y and at the same time, the quantity ordered for that line item must be set to 0. For partial cancellations, either reduce the quantity of an approved order or populate the quantity cancelled field making sure the cancel indicator is blank or set to N. This will allow for the automatic re-approval of the entire order, if there are line items still on the order once processed by the API. The cancel indicator and reinstate indicator cannot both be set to Y at the same time.

For more details on Purchase Orders, see the Create Purchase Order service description.

Reinstating Order Lines

To reinstate orders, the reinstate indicator should be set to Y. In effect, this will set the cancelled quantities of the line items to 0 and reinstate the ordered quantities. This will set the status of the reinstated order to Worksheet.

Cancelling a Line Item in an Approved Order

In order to cancel a line item on the order, you can set the cancel indicator at the detail level to Y and at the same time, the quantity ordered for that line item must be set to 0. For partial cancellations, either reduce the quantity of an approved order or populate the quantity cancelled field making sure the cancel indicator is blank or set to N. This will allow for the automatic re-approval of the entire order, if there are line items still on the order once processed by the API. The cancel indicator and reinstate indicator cannot both be set to Y at the same time.

For more details on Purchase Orders, see the Create Purchase Order service description.

Service Type
PUT
ReST URL
MerchIntegrations/services/purchaseOrder/details/update
Input Payload Details

Update - Object. See list of elements for detail

Items - Object. See list of elements for detail

Details - Object. See list of elements for detail

CustomFlexAttribute - Object. See list of elements for detail

ItemDetails - Object. See list of elements for detail

Response Code: 200 (Success)
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Update Purchase Order Expenses

Functional Area
Purchase Orders
Business Overview

This webservice is used to update expense information on the purchase order within Merchandising in order to keep it in sync with an external system that is responsible for maintaining purchase orders. It also updates order header information with the values provided in the request if the order is not yet submitted or approved. Internally, the service sets the status of the order to Worksheet in order to accommodate the modification of expense information for purchase orders in the system that have been submitted or approved. Validation of the new expense information is performed before automatic order re-approval is attempted.

For more details on Purchase Orders, see the Create Purchase Order service description.

Service Type

PUT

ReST URL
MerchIntegrations/services/purchaseOrder/expenses/update
Input Payload Details

Table 5-1266 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of order
Objectexpenses.

Table 5-1267 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNoYesNumber (12)The unique identifer for the order.
supplierNoNumber (10)The identifer of the supplier from
which the order will be sourced. This
cannot be modifed if details exist for
the PO.

Table 5-1267 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
currencyCodeNoString (3)The code of the order’s currency. If
not populated, the supplier’s
currency will be used. This feld can
be modifed if the order status is
worksheet or approved and the order
has not been shipped.
termsNoString (15)The sales terms of the order. If not
populated on the create message, will
default to the supplier’s terms. This
can be modifed in worksheet or
approved status.
notBeforeDateNodateThe frst date that delivery will be
accepted. This can be modifed in
worksheet or approved status.
notAfterDateNodateThe last date that delivery will be
accepted. This can be modifed in
worksheet or approved status.
otbEowDateNodateThe end of week date of the OTB
bucket used. This can be modifed in
worksheet or approved status.
deptNoNumber (4)The department in which are all the
items on the order. This feld is
required if the system enforces single
department ordering. This cannot be
modifed if details exist for the PO.
statusNoString (1)The code for the status of the order.
Valid values are ‘W’ worksheet and ‘A’
approved for PO creation. It is also
possible to modify the status to ‘C’
closed.
includeOnOrderIndNoString (1)Indicates if the order should be
included in on-order calculations.
This can be modifed in worksheet or
approved status. Valid values are Y
and N.
writtenDateNodateThe date the order was created. If this
feld is not populated on the message
it will default to the time of creation
in RMS. It cannot be modifed.
originNoString (2)Indicates where the order originated.
Valid values include: 2 - Manual, 6 -
AIP generated order, 7 , 8, 12 -
Consignment Vendor Order.
ediPoIndNoString (1)Indicates whether or not the order
will be transmitted to the supplier via
an Electronic Data Exchange
transaction. Valid values are: Y =
Submit via EDI, N = Do not use EDI.

Table 5-1267 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
preMarkIndNoString (1)This feld indicated whether or not a
supplier has agreed to break an order
into separate boxes so that the boxes
can be sent directly to stores. Valid
values are Y and N.
approvedByNoString (254)Indicates where the order was
approved. It will be the user ID of the
person approving the order.
commentDescNoString (2000)Any comments pertaining to the
order.
dataLoadingDestinationNoString (6)This feld indicates if the order will be
created in RMS or the staging tables.
Valid values are RMS or STG. If not
defned, the default is STG.
masterOrderNoNoNumber (12)This feld indicates the master order
number from which child records
were created.
ladingPortNoString (5)This feld indicates the port from
which the items on the purchase
order are shipped.
dischargePortNoString (5)This feld indicates the port at which
the items on the purchase order will
enter the country of import.
factoryNoString (10)This feld indicates the factory at
which the items on the purchase
order are made.
agentNoString (10)This feld indicates the agent that is
used in the purchase of the items on
the purchase order.
shipMethodNoString (6)This feld indicates the method used
to ship the items on the purchase
order from the country of origin to
the country of import.
partnerType1NoString (6)This feld indicates Partner 1 Type.
partner1NoString (10)This feld indicates the Additional
Partner 1.
partnerType2NoString (6)This feld indicates Partner 2 Type.
partner2NoString (10)This feld indicates the Additional
Partner 2.
partnerType3NoString (6)This feld indicates Partner 3 Type.
partner3NoString (10)This feld indicates the Additional
Partner 3.
importCountryNoString (3)The identifer of the country into
which the items on the order are
being imported.

Table 5-1267 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
purchaseTypeNoString (6)This feld indicates whats included in
the suppliers cost of the item. Valid
values include C (Cost), CI (Cost and
Insurance), CIF (Cost, Insurance and
Freight) and FOB (Free on Board).
paymentMethodNoString (6)This feld indicates the default
method for how purchase orders for
this site will be paid. Valid values are
in the code type PYMT(Payment
Method). Examples are Open
Account(OA), Letter of Credit(LC) and
Wire Transfer(WT).
titlePassLocationTypeNoString (2)Contains the code indicating the type
of location or point where ownership
of merchandise changes hands from
seller/supplier to buyer/retailer. Valid
values are found under the FOBT
code type. Examples are City and
State (AC), Country Of Sourcing (CA)
and City (CI).
titlePassLocationNoString (250)Contains the description of the
location or point where ownership of
merchandise changes hands from
seller/supplier to buyer/retailer.
purchaseOrderTypeNoString (4)This feld contains the value
associated with the PO_TYPE for the
order.
orderTypeNoString (3)Indicates the type of order and which
Open To Buy bucket will be updated.
Valid values include: N/B - Non Basic,
ARB - Automatic Reorder of Basic,
BRB - Buyer Reorder of Basic, DSD -
Direct Store Delivery
buyerNoNumber (4)Contains the number associated with
the buyer for the order.
locationNoNumber (10)This feld contains the location all
items on the order will be delivered
to if populated. i. e. It will mean a
single location order.
locationTypeNoString (1)This feld contains the type of location
in the location feld. Valid values are:
Valid values are S (Store) or W
(Warehouse).
promotionNoNumber (10)Contains the RPCS offer ID associated
with the order to provide a link
between the order dialog and the
promotions dialog.
qualityControlIndNoString (1)Determines whether or not quality
control will be required when items
for this order are received. Valid
values are Y and N.

Table 5-1267 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
freightTermsNoString (30)Indicator that references what freight
terms are related to the order.
backhaulTypeNoString (6)This feld contains the type of
backhaul allowance that will be
applied to the order. Some examples
are Calculated or Flat rate.
backhaulAllowanceNoNumber
(20,4)
This feld will contain the backhaul
allowance value.
shipPayMethodNoString (2)Code indicating the payment terms
for freight charges associated with
the order. Valid values include: CC -
Collect, CF - Collect Freight Credited
Back to Customer, DF - Defned by
Buyer and Seller, MX - Mixed, PC -
Prepaid but Charged to Customer, PO
- Prepaid Only, PP - Prepaid by Seller.
transportationResponsibility
Type
NoString (2)Contains the code indicating the type
of location or point at which the
responsibility for transportation
transfers from the seller/supplier to
the buyer/retailer. Valid values are
found under the FOBT code type.
Examples are City and State (AC),
Country Of Sourcing (CA) and
Country (CC).
transportationResponsibilityNoString (250)Contains the description of the
location or point at which the
responsibility for transportation
transfers from the seller/supplier to
the buyer/retailer.
vendorOrderNoNoString (15)Contains the vendors unique
identifying number for an order.
These orders may have originated by
the vendor through the EDI process
or this number can be associated to a
Oracle Retail order when the order is
created on-line.
freightContractNoNoString (10)The number of the contract with a
shipper that will give specifc freight
rates. This feld is only available
when the system is running Import
functionality.
pickupLocationNoString (250)Contains the location at which the
order will be picked up, if the order is
a Pickup order.
pickupNoNoString (25)Contains the reference number of the
Pickup order.
pickupDateNodateContains the date when the order can
be picked up from the Supplier. This
feld is only required if the Purchase
Type of the order is Pickup.

Table 5-1267 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
appointmentDateTimeNodate-timeThis column will hold the date and
time of the receiving appointment at
the warehouse.
importTypeNoString (1)Valid values are IMporter and
EXporter. This is the default importer/
exporter assigned to the supplier of
the Puchase order.
importIdNoNumber (10)This identifes the importer/exporter
assigned to the supplier. This should
reference the WH. WH folumn with
foreign key created.
clearingZoneIdNoString (5)This column will hold the clearing
zone id.
routingLocationNoString (5)This is the default routing location for
the import order. FK on OUTLOC.
OUTLOC_ID.
reApproveIndNoString (1)This feld indicates that the update to
the corresponding purchase order
needs to be performed, and then it
should be approved again. Valid
values are Y and N.
earliestShipDateNodateThe date before which the item can
not be shipped by the supplier.
latestShipDateNodateThe date after which the item can not
be shipped by the supplier.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes. This collection is
treated as a single group and should
include all named fexible attributes
for the business entity. If any
confgured named attribute is
missing from the input collection, its
value will be set to NULL.
expensesNoCollection of
Object
References the expense associated
with a particular item/location of the
purchase order.

Table 5-1268 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.

Table 5-1269 Expenses - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)This feld contains alphanumeric
value that uniquely identifes the
item.
packItemNoString (25)This feld contains alphanumeric
value that uniquely identifes the
pack.
locationYesNumber (10)This feld contains the location that
item will be ordered to. This feld may
contain a store or a warehouse.
locationTypeYesString (1)This feld contains the type of location
in the location feld. Valid values are:
S - Store W - Warehouse.
componentYesString (10)This feld contains a user specifed
code representing a specifc expense
found on the ELC_COMP table.
computationValueBaseNoString (10)This feld contains a code
representing the base value for
calculating the expense.
calculationBasisNoString (1)This feld contains the basis the
expense will be calculated against if
there is no CVB code attached to the
expense. Valid values are S (Supplier)
or O (Order). If the Cost Basis is S then
when calculating the expense, the
items supplier cost will be used. If the
Cost Basis is O then the order unit
cost of the item on the order will be
used to calculate the expense. The
code type for this feld is EXCB.
componentRateYesNumber
(20,4)
This feld contains the rate to be
charged against the calculation base
of the component (either value or
specifc).
componentCurrencyYesString (3)This feld contains the currency the
expense or assessment is to be
entered in. If the Calculation Basis is
V (Value), then comp_currency will be
NULL.
exchangeRateYesNumber
(20,10)
This feld contains the exchange rate
of the individual expense.
perCountNoNumber
(12,4)
This feld contains a count indicating
the amount of the Per Count Unit of
Measure to which the rate applies.
When creating an expense that is
defned as $. 20 for every 10
kilograms of an item ordered, the Per
Count would be 10.

Table 5-1269 (Cont.) Expenses - Object. See list of elements for detail

Element NameRequiredData TypeDescription
perCountUomNoString (4)This feld contains the unit of
measure in which the Per Count is
specifed. When creating an expense
that is defned as $. 20 for every 10
kilograms of an item ordered, the Per
Count UOM would be the Unit of
Measure code for Kilograms.
nominationFlag1YesString (1)This feld contains a fag that is used
to indicate if the value of the cost
component should be included in the
calculation of another. Nomination
fags are used to calculate the value
of a Computation Value Base (CVB)
which has the corresponding
nomination fag set to Yes (Y). Valid
values are: N/A (N) (the value of this
component will not be included in
CVBs which look at Nomination Flag
1), Add (+) (the value of this
component will be added to CVBs
which look at Nomination Flag 1),
and Subtract (-) (the value of this
component will be deducted from
CVBs which look at Nomination Flag
1). For example, if cost component
ABC has a + in Nomination Flag 1,
then all CVBs that include
Nomination Flag 1 will include this
cost component value in their
calculation basis.
inDutyYesString (1)If Import Management is enabled in
Merchandising (i. e. system_options.
import_ind = Y), the inDuty fag is
used to indicate if the value of the
cost component should be included in
total duty.

Table 5-1269 (Cont.) Expenses - Object. See list of elements for detail

Element Name
Required
Data TypeDescription
nominationFlag3
Yes
String (1)This feld contains a fag that is used
to indicate if the value of the cost
component should be included in the
calculation of another. Nomination
fags are used to calculate the value
of a Computation Value Base (CVB)
which has the corresponding
nomination fag set to Yes (Y). Valid
values are: N/A (N) (the value of this
component will not be included in
CVBs which look at Nomination Flag
3), Add (+) (the value of this
component will be added to CVBs
which look at Nomination Flag 3),
and Subtract (-) (the value of this
component will be deducted from
CVBs which look at Nomination Flag
3). For example, if cost component
ABC has a + in Nomination Flag 3,
then all CVBs that include
Nomination Flag 3 will include this
cost component value in their
calculation basis.
inExpense
Yes
String (1)The inExpense fag is used to indicate
if the value of the cost component
should be included in total expenses.
inAlc
Yes
String (1)The inALC fag is used for cost
components where the retailer does
not expect to receive an actual value
for the charge via an obligation or
customs entry. The inALC fag allows
the value of the cost component to be
included in ALC via direct
nomination and indicates to the
system that the estimated value on
the order should be used as the actual
value as well because no other actual
will be provided.
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"orderNo": 464690012,
"supplier": 2400,
"currencyCode": "USD",
"terms": "02",
"notBeforeDate": "2001-12-31",
"notAfterDate": "2001-12-31",
"otbEowDate": "2001-12-31",
"dept": null,
      "status": "A",
      "includeOnOrderInd": "Y",
      "writtenDate": "2001-12-31",
      "origin": "2",
      "ediPoInd": "Y",
      "preMarkInd": "Y",
      "approvedBy": null,
      "commentDesc": "Create Order",
      "dataLoadingDestination": "RMS",
      "masterOrderNo": null,
      "ladingPort": "7",
      "dischargePort": "480",
      "factory": "100",
      "agent": "007",
      "shipMethod": "32",
      "partnerType1": "AG",
      "partner1": "007",
      "partnerType2": "E",
      "partner2": "4678",
      "partnerType3": null,
      "partner3": null,
      "importCountry": "US",
      "purchaseType": "FOB",
      "paymentMethod": "LC",
      "titlePassLocationType": "FF",
      "titlePassLocation": "US",
      "purchaseOrderType": "4000",
      "orderType": "N/B",
      "buyer": 1000,
      "location": null,
      "locationType": null,
      "promotion": 41,
      "qualityControlInd": "Y",
      "freightTerms": "03",
      "backhaulType": null,
      "backhaulAllowance": null,
      "shipPayMethod": "PO",
      "transportationResponsibilityType": "FF",
      "transportationResponsibility": "US",
      "vendorOrderNo": "9987001",
      "freightContractNo": "111",
      "pickupLocation": null,
      "pickupNo": null,
      "pickupDate": null,
      "appointmentDateTime": "2001-12-31T23:59:59.123Z",
      "importType": "W",
      "importId": 10001,
      "clearingZoneId": null,
      "routingLocation": null,
      "reApproveInd": null,
      "earliestShipDate": "2001-12-31",
      "latestShipDate": "2001-12-31",
      "customFlexAttribute": [
        {
          "name": "REVIEW_DATE",
          "value": null,
          "valueDate": "2001-12-31"
        }
      ],
      "expenses": [
        {
          "item": "103900095",
          "packItem": null,
          "location": 10001,
          "locationType": "W",
          "component": "OCFRT",
          "computationValueBase": null,
          "calculationBasis": null,
          "componentRate": 17,
          "componentCurrency": "INR",
          "exchangeRate": 29,
          "perCount": 1,
          "perCountUom": "M3",
          "nominationFlag1": "N",
          "inDuty": "N",
          "nominationFlag3": "N",
          "inExpense": "+",
          "inAlc": "N"
        }
      ]
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Update Purchase Order HTS

Functional Area
Purchase Orders
Business Overview

This webservice is used to update Harmonized Tariff Schedules and related assessments within Merchandising in order to keep it in sync with an external system that is responsible for maintaining purchase orders. It also updates order header information with the values provided in the request if the order is not yet submitted or approved. When updating HTS information for a purchase order that has been submitted or approved, internally, the service sets the status of the order to Worksheet in order to accommodate the change in HTS information. Validation of the new HTS information is performed before automatic order re-approval is attempted.

For more details on Purchase Orders, see the Create Purchase Order service description.

Service Type
PUT
ReST URL
MerchIntegrations/services/purchaseOrder/hts/update
Input Payload Details

Table 5-1270 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of order HTS
Objectrecords.

Table 5-1271 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNoYesNumber (12)The unique identifer for the order.
supplierNoNumber (10)The identifer of the supplier from
which the order will be sourced. This
cannot be modifed if details exist for
the PO.
currencyCodeNoString (3)The code of the order’s currency. If
not populated, the supplier’s
currency will be used. This feld can
be modifed if the order status is
worksheet or approved and the order
has not been shipped.

Table 5-1271 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
termsNoString (15)The sales terms of the order. If not
populated on the create message, will
default to the supplier’s terms. This
can be modifed in worksheet or
approved status.
notBeforeDateNodateThe frst date that delivery will be
accepted. This can be modifed in
worksheet or approved status.
notAfterDateNodateThe last date that delivery will be
accepted. This can be modifed in
worksheet or approved status.
otbEowDateNodateThe end of week date of the OTB
bucket used. This can be modifed in
worksheet or approved status.
deptNoNumber (4)The department in which are all the
items on the order. This feld is
required if the system enforces single
department ordering. This cannot be
modifed if details exist for the PO.
statusNoString (1)The code for the status of the order.
Valid values are ‘W’ worksheet and ‘A’
approved for PO creation. It is also
possible to modify the status to ‘C’
closed.
includeOnOrderIndNoString (1)Indicates if the order should be
included in on-order calculations.
This can be modifed in worksheet or
approved status. Valid values are Y
and N.
writtenDateNodateThe date the order was created. If this
feld is not populated on the message
it will default to the time of creation
in RMS. It cannot be modifed.
originNoString (2)Indicates where the order originated.
Valid values include: 2 - Manual, 6 -
AIP generated order, 7 , 8, 12 -
Consignment Vendor Order.
ediPoIndNoString (1)Indicates whether or not the order
will be transmitted to the supplier via
an Electronic Data Exchange
transaction. Valid values are: Y =
Submit via EDI, N = Do not use EDI.
preMarkIndNoString (1)This feld indicated whether or not a
supplier has agreed to break an order
into separate boxes so that the boxes
can be sent directly to stores. Valid
values are Y and N.
approvedByNoString (254)Indicates where the order was
approved. It will be the user ID of the
person approving the order.

Table 5-1271 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
commentDescNoString (2000)Any comments pertaining to the
order.
dataLoadingDestinationNoString (6)This feld indicates if the order will be
created in RMS or the staging tables.
Valid values are RMS or STG. If not
defned, the default is STG.
masterOrderNoNoNumber (12)This feld indicates the master order
number from which child records
were created.
ladingPortNoString (5)This feld indicates the port from
which the items on the purchase
order are shipped.
dischargePortNoString (5)This feld indicates the port at which
the items on the purchase order will
enter the country of import.
factoryNoString (10)This feld indicates the factory at
which the items on the purchase
order are made.
agentNoString (10)This feld indicates the agent that is
used in the purchase of the items on
the purchase order.
shipMethodNoString (6)This feld indicates the method used
to ship the items on the purchase
order from the country of origin to
the country of import.
partnerType1NoString (6)This feld indicates Partner 1 Type.
partner1NoString (10)This feld indicates the Additional
Partner 1.
partnerType2NoString (6)This feld indicates Partner 2 Type.
partner2NoString (10)This feld indicates the Additional
Partner 2.
partnerType3NoString (6)This feld indicates Partner 3 Type.
partner3NoString (10)This feld indicates the Additional
Partner 3.
importCountryNoString (3)The identifer of the country into
which the items on the order are
being imported.
purchaseTypeNoString (6)This feld indicates whats included in
the suppliers cost of the item. Valid
values include C (Cost), CI (Cost and
Insurance), CIF (Cost, Insurance and
Freight) and FOB (Free on Board).
paymentMethodNoString (6)This feld indicates the default
method for how purchase orders for
this site will be paid. Valid values are
in the code type PYMT(Payment
Method). Examples are Open
Account(OA), Letter of Credit(LC) and
Wire Transfer(WT).

Table 5-1271 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
titlePassLocationTypeNoString (2)Contains the code indicating the type
of location or point where ownership
of merchandise changes hands from
seller/supplier to buyer/retailer. Valid
values are found under the FOBT
code type. Examples are City and
State (AC), Country Of Sourcing (CA)
and City (CI).
titlePassLocationNoString (250)Contains the description of the
location or point where ownership of
merchandise changes hands from
seller/supplier to buyer/retailer.
purchaseOrderTypeNoString (4)This feld contains the value
associated with the PO_TYPE for the
order.
orderTypeNoString (3)Indicates the type of order and which
Open To Buy bucket will be updated.
Valid values include: N/B - Non Basic,
ARB - Automatic Reorder of Basic,
BRB - Buyer Reorder of Basic, DSD -
Direct Store Delivery
buyerNoNumber (4)Contains the number associated with
the buyer for the order.
locationNoNumber (10)This feld contains the location all
items on the order will be delivered
to if populated. i. e. It will mean a
single location order.
locationTypeNoString (1)This feld contains the type of location
in the location feld. Valid values are:
Valid values are S (Store) or W
(Warehouse).
promotionNoNumber (10)Contains the RPCS offer ID associated
with the order to provide a link
between the order dialog and the
promotions dialog.
qualityControlIndNoString (1)Determines whether or not quality
control will be required when items
for this order are received. Valid
values are Y and N.
freightTermsNoString (30)Indicator that references what freight
terms are related to the order.
backhaulTypeNoString (6)This feld contains the type of
backhaul allowance that will be
applied to the order. Some examples
are Calculated or Flat rate.
backhaulAllowanceNoNumber
(20,4)
This feld will contain the backhaul
allowance value.

Table 5-1271 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
shipPayMethodNoString (2)Code indicating the payment terms
for freight charges associated with
the order. Valid values include: CC -
Collect, CF - Collect Freight Credited
Back to Customer, DF - Defned by
Buyer and Seller, MX - Mixed, PC -
Prepaid but Charged to Customer, PO
- Prepaid Only, PP - Prepaid by Seller.
transportationResponsibility
Type
NoString (2)Contains the code indicating the type
of location or point at which the
responsibility for transportation
transfers from the seller/supplier to
the buyer/retailer. Valid values are
found under the FOBT code type.
Examples are City and State (AC),
Country Of Sourcing (CA) and
Country (CC).
transportationResponsibilityNoString (250)Contains the description of the
location or point at which the
responsibility for transportation
transfers from the seller/supplier to
the buyer/retailer.
vendorOrderNoNoString (15)Contains the vendors unique
identifying number for an order.
These orders may have originated by
the vendor through the EDI process
or this number can be associated to a
Oracle Retail order when the order is
created on-line.
freightContractNoNoString (10)The number of the contract with a
shipper that will give specifc freight
rates. This feld is only available
when the system is running Import
functionality.
pickupLocationNoString (250)Contains the location at which the
order will be picked up, if the order is
a Pickup order.
pickupNoNoString (25)Contains the reference number of the
Pickup order.
pickupDateNodateContains the date when the order can
be picked up from the Supplier. This
feld is only required if the Purchase
Type of the order is Pickup.
appointmentDateTimeNodate-timeThis column will hold the date and
time of the receiving appointment at
the warehouse.
importTypeNoString (1)Valid values are IMporter and
EXporter. This is the default importer/
exporter assigned to the supplier of
the Puchase order.

Table 5-1271 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
importIdNoNumber (10)This identifes the importer/exporter
assigned to the supplier. This should
reference the WH. WH folumn with
foreign key created.
clearingZoneIdNoString (5)This column will hold the clearing
zone id.
routingLocationNoString (5)This is the default routing location for
the import order. FK on OUTLOC.
OUTLOC_ID.
reApproveIndNoString (1)This feld indicates that the update to
the corresponding purchase order
needs to be performed, and then it
should be approved again. Valid
values are Y and N.
earliestShipDateNodateThe date before which the item can
not be shipped by the supplier.
latestShipDateNodateThe date after which the item can not
be shipped by the supplier.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes. This collection is
treated as a single group and should
include all named fexible attributes
for the business entity. If any
confgured named attribute is
missing from the input collection, its
value will be set to NULL.
htsNoCollection of
Object
References the HTS code associated
with a particular item of the purchase
order.

Table 5-1272 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.

Table 5-1273 Hts - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)This feld contains an unique
alphanumeric value that identifes
the item.
packItemNoString (25)This feld contains alphanumeric
value that uniquely identifes the
pack.

Table 5-1273 (Cont.) Hts - Object. See list of elements for detail

Element NameRequiredData TypeDescription
htsYesString (25)This feld contains an identifer for
the Harmonized Tariff Schedule code.
statusYesString (1)This feld contains a fag to indicate
the status of the Purchase Order/
Item/HTS relationship. Valid values
are (W)orksheet and (A)pproved.
originCountryYesString (3)This feld contains the country of
manufacture when the HTS tracking
level is M. When the HTS tracking
level is S, this stores the country of
sourcing.
importCountryNoString (3)This feld contains the country that
the item will be imported in to.
assessmentsNoCollection of
Object
References the HTS code assessments
associated with a particular item of
the purchase order.

Table 5-1274 Assessments - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentYesString (10)This feld contains a user specifed
code representing the specifc
assessment component found on the
ELC_COMP table.
computationValueBaseNoString (10)This feld contains a code
representing the base value for
calculating the assessment.
componentRateYesNumber
(20,4)
This feld contains the rate to be
charged against the calculation base.
This feld will hold a percentage value
if the Calculation Basis of the
Component is Value or a monetary
amount in the currency defned for
the assessment (usually the import
country’s currency) if the Calculation
Basis is Specifc.
perCountNoNumber
(12,4)
This feld contains a count indicating
the amount of the Per Count Unit of
Measure to which the rate applies.
When creating an expense that is
defned as $. 20 for every 10
kilograms of an item ordered, the Per
Count would be 10.
perCountUomNoString (4)This feld contains the unit of
measure in which the Per Count is
specifed. When creating an expense
that is defned as $. 20 for every 10
kilograms of an item ordered, the Per
Count UOM would be the Unit of
Measure code for Kilograms.

Table 5-1274 (Cont.) Assessments - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nominationFlag1YesString (1)This feld contains a fag that is used
to indicate if the value of the cost
component should be included in the
calculation of another. Nomination
fags are used to calculate the value
of a Computation Value Base (CVB)
which has the corresponding
nomination fag set to Yes (Y). Valid
values are: N/A (N) (the value of this
component will not be included in
CVBs which look at Nomination Flag
1), Add (+) (the value of this
component will be added to CVBs
which look at Nomination Flag 1),
and Subtract (-) (the value of this
component will be deducted from
CVBs which look at Nomination Flag
1). For example, if cost component
ABC has a + in Nomination Flag 1,
then all CVBs that include
Nomination Flag 1 will include this
cost component value in their
calculation basis.
inDutyYesString (1)If Import Management is enabled in
Merchandising (i. e. system_options.
import_ind = Y), the inDuty fag is
used to indicate if the value of the
cost component should be included in
total duty.
nominationFlag3YesString (1)This feld contains a fag that is used
to indicate if the value of the cost
component should be included in the
calculation of another. Nomination
fags are used to calculate the value
of a Computation Value Base (CVB)
which has the corresponding
nomination fag set to Yes (Y). Valid
values are: N/A (N) (the value of this
component will not be included in
CVBs which look at Nomination Flag
3), Add (+) (the value of this
component will be added to CVBs
which look at Nomination Flag 3),
and Subtract (-) (the value of this
component will be deducted from
CVBs which look at Nomination Flag
3). For example, if cost component
ABC has a + in Nomination Flag 3,
then all CVBs that include
Nomination Flag 3 will include this
cost component value in their
calculation basis.
inExpenseYesString (1)The inExpense fag is used to indicate
if the value of the cost component
should be included in total expenses.

Table 5-1274 (Cont.) Assessments - Object. See list of elements for detail

Element Name Required Data Type Description inAlc Yes String (1) The inALC flag is used for cost components where the retailer does not expect to receive an actual value for the charge via an obligation or customs entry. The inALC flag allows the value of the cost component to be included in ALC via direct nomination and indicates to the system that the estimated value on the order should be used as the actual value as well because no other actual will be provided. Sample Input Message { "collectionSize": 1, "items": [ { "orderNo": 464690012, "supplier": 2400, "currencyCode": "USD", "terms": "02", "notBeforeDate": "2001-12-31", "notAfterDate": "2001-12-31", "otbEowDate": "2001-12-31", "dept": null, "status": "A", "includeOnOrderInd": "Y", "writtenDate": "2001-12-31", "origin": "2", "ediPoInd": "Y", "preMarkInd": "Y", "approvedBy": null, "commentDesc": "Create Order", "dataLoadingDestination": "RMS", "masterOrderNo": null, "ladingPort": "7", "dischargePort": "480", "factory": "100", "agent": "007", "shipMethod": "32", "partnerType1": "AG", "partner1": "007", "partnerType2": "E", "partner2": "4678", "partnerType3": null, "partner3": null, "importCountry": "US", "purchaseType": "FOB", "paymentMethod": "LC", "titlePassLocationType": "FF",

      "titlePassLocation": "US",
      "purchaseOrderType": "4000",
      "orderType": "N/B",
      "buyer": 1000,
      "location": null,
      "locationType": null,
      "promotion": 41,
      "qualityControlInd": "Y",
      "freightTerms": "03",
      "backhaulType": null,
      "backhaulAllowance": null,
      "shipPayMethod": "PO",
      "transportationResponsibilityType": "FF",
      "transportationResponsibility": "US",
      "vendorOrderNo": "9987001",
      "freightContractNo": "111",
      "pickupLocation": null,
      "pickupNo": null,
      "pickupDate": null,
      "appointmentDateTime": "2001-12-31T23:59:59.123Z",
      "importType": "W",
      "importId": 10001,
      "clearingZoneId": null,
      "routingLocation": null,
      "reApproveInd": null,
      "earliestShipDate": "2001-12-31",
      "latestShipDate": "2001-12-31",
      "customFlexAttribute": [
        {
          "name": "REVIEW_DATE",
          "value": null,
          "valueDate": "2001-12-31"
        }
      ],
      "hts": [
        {
          "item": "103900095",
          "packItem": null,
          "hts": "9014111112",
          "status": "W",
          "originCountry": "IN",
          "importCountry": "US",
          "assessments": [
            {
              "component": "DTYCAUS",
              "computationValueBase": null,
              "componentRate": 12,
              "perCount": 1,
              "perCountUom": "EA",
              "nominationFlag1": "N",
              "inDuty": "+",
              "nominationFlag3": "-",
              "inExpense": "N",
              "inAlc": "N"
            }
          ]
        }
      ]
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Update Purchase Order HTS Assessments

Functional Area
Purchase Orders
Business Overview

This webservice is used to update Harmonized Tariff Schedules assessments within Merchandising in order to keep it in sync with an external system that is responsible for maintaining purchase orders. It also updates order header information with the values provided in the request if the order is not yet submitted or approved. When updating assessment information for a purchase order that has been submitted or approved, the service internally sets the status of the order to Worksheet in order to accommodate the change in assessment information. Validation of the new information is performed before automatic order re-approval is attempted.

For more details on Purchase Orders, see the Create Purchase Order service description.

Service Type

PUT

ReST URL
MerchIntegrations/services/purchaseOrder/hts/assessments/update
Input Payload Details

Table 5-1275 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of order HTS
Objectassessment records.

Table 5-1276 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNoYesNumber (12)The unique identifer for the order.
supplierNoNumber (10)The identifer of the supplier from
which the order will be sourced. This
cannot be modifed if details exist for
the PO.
currencyCodeNoString (3)The code of the order’s currency. If
not populated, the supplier’s
currency will be used. This feld can
be modifed if the order status is
worksheet or approved and the order
has not been shipped.
termsNoString (15)The sales terms of the order. If not
populated on the create message, will
default to the supplier’s terms. This
can be modifed in worksheet or
approved status.
notBeforeDateNodateThe frst date that delivery will be
accepted. This can be modifed in
worksheet or approved status.
notAfterDateNodateThe last date that delivery will be
accepted. This can be modifed in
worksheet or approved status.
otbEowDateNodateThe end of week date of the OTB
bucket used. This can be modifed in
worksheet or approved status.
deptNoNumber (4)The department in which are all the
items on the order. This feld is
required if the system enforces single
department ordering. This cannot be
modifed if details exist for the PO.

Table 5-1276 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
statusNoString (1)The code for the status of the order.
Valid values are ‘W’ worksheet and ‘A’
approved for PO creation. It is also
possible to modify the status to ‘C’
closed.
includeOnOrderIndNoString (1)Indicates if the order should be
included in on-order calculations.
This can be modifed in worksheet or
approved status. Valid values are Y
and N.
writtenDateNodateThe date the order was created. If this
feld is not populated on the message
it will default to the time of creation
in RMS. It cannot be modifed.
originNoString (2)Indicates where the order originated.
Valid values include: 2 - Manual, 6 -
AIP generated order, 7 , 8, 12 -
Consignment Vendor Order.
ediPoIndNoString (1)Indicates whether or not the order
will be transmitted to the supplier via
an Electronic Data Exchange
transaction. Valid values are: Y =
Submit via EDI, N = Do not use EDI.
preMarkIndNoString (1)This feld indicated whether or not a
supplier has agreed to break an order
into separate boxes so that the boxes
can be sent directly to stores. Valid
values are Y and N.
approvedByNoString (254)Indicates where the order was
approved. It will be the user ID of the
person approving the order.
commentDescNoString (2000)Any comments pertaining to the
order.
dataLoadingDestinationNoString (6)This feld indicates if the order will be
created in RMS or the staging tables.
Valid values are RMS or STG. If not
defned, the default is STG.
masterOrderNoNoNumber (12)This feld indicates the master order
number from which child records
were created.
ladingPortNoString (5)This feld indicates the port from
which the items on the purchase
order are shipped.
dischargePortNoString (5)This feld indicates the port at which
the items on the purchase order will
enter the country of import.
factoryNoString (10)This feld indicates the factory at
which the items on the purchase
order are made.

Table 5-1276 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
agentNoString (10)This feld indicates the agent that is
used in the purchase of the items on
the purchase order.
shipMethodNoString (6)This feld indicates the method used
to ship the items on the purchase
order from the country of origin to
the country of import.
partnerType1NoString (6)This feld indicates Partner 1 Type.
partner1NoString (10)This feld indicates the Additional
Partner 1.
partnerType2NoString (6)This feld indicates Partner 2 Type.
partner2NoString (10)This feld indicates the Additional
Partner 2.
partnerType3NoString (6)This feld indicates Partner 3 Type.
partner3NoString (10)This feld indicates the Additional
Partner 3.
importCountryNoString (3)The identifer of the country into
which the items on the order are
being imported.
purchaseTypeNoString (6)This feld indicates whats included in
the suppliers cost of the item. Valid
values include C (Cost), CI (Cost and
Insurance), CIF (Cost, Insurance and
Freight) and FOB (Free on Board).
paymentMethodNoString (6)This feld indicates the default
method for how purchase orders for
this site will be paid. Valid values are
in the code type PYMT(Payment
Method). Examples are Open
Account(OA), Letter of Credit(LC) and
Wire Transfer(WT).
titlePassLocationTypeNoString (2)Contains the code indicating the type
of location or point where ownership
of merchandise changes hands from
seller/supplier to buyer/retailer. Valid
values are found under the FOBT
code type. Examples are City and
State (AC), Country Of Sourcing (CA)
and City (CI).
titlePassLocationNoString (250)Contains the description of the
location or point where ownership of
merchandise changes hands from
seller/supplier to buyer/retailer.
purchaseOrderTypeNoString (4)This feld contains the value
associated with the PO_TYPE for the
order.

Table 5-1276 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderTypeNoString (3)Indicates the type of order and which
Open To Buy bucket will be updated.
Valid values include: N/B - Non Basic,
ARB - Automatic Reorder of Basic,
BRB - Buyer Reorder of Basic, DSD -
Direct Store Delivery
buyerNoNumber (4)Contains the number associated with
the buyer for the order.
locationNoNumber (10)This feld contains the location all
items on the order will be delivered
to if populated. i. e. It will mean a
single location order.
locationTypeNoString (1)This feld contains the type of location
in the location feld. Valid values are:
Valid values are S (Store) or W
(Warehouse).
promotionNoNumber (10)Contains the RPCS offer ID associated
with the order to provide a link
between the order dialog and the
promotions dialog.
qualityControlIndNoString (1)Determines whether or not quality
control will be required when items
for this order are received. Valid
values are Y and N.
freightTermsNoString (30)Indicator that references what freight
terms are related to the order.
backhaulTypeNoString (6)This feld contains the type of
backhaul allowance that will be
applied to the order. Some examples
are Calculated or Flat rate.
backhaulAllowanceNoNumber
(20,4)
This feld will contain the backhaul
allowance value.
shipPayMethodNoString (2)Code indicating the payment terms
for freight charges associated with
the order. Valid values include: CC -
Collect, CF - Collect Freight Credited
Back to Customer, DF - Defned by
Buyer and Seller, MX - Mixed, PC -
Prepaid but Charged to Customer, PO
- Prepaid Only, PP - Prepaid by Seller.
transportationResponsibility
Type
NoString (2)Contains the code indicating the type
of location or point at which the
responsibility for transportation
transfers from the seller/supplier to
the buyer/retailer. Valid values are
found under the FOBT code type.
Examples are City and State (AC),
Country Of Sourcing (CA) and
Country (CC).

Table 5-1276 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
transportationResponsibilityNoString (250)Contains the description of the
location or point at which the
responsibility for transportation
transfers from the seller/supplier to
the buyer/retailer.
vendorOrderNoNoString (15)Contains the vendors unique
identifying number for an order.
These orders may have originated by
the vendor through the EDI process
or this number can be associated to a
Oracle Retail order when the order is
created on-line.
freightContractNoNoString (10)The number of the contract with a
shipper that will give specifc freight
rates. This feld is only available
when the system is running Import
functionality.
pickupLocationNoString (250)Contains the location at which the
order will be picked up, if the order is
a Pickup order.
pickupNoNoString (25)Contains the reference number of the
Pickup order.
pickupDateNodateContains the date when the order can
be picked up from the Supplier. This
feld is only required if the Purchase
Type of the order is Pickup.
appointmentDateTimeNodate-timeThis column will hold the date and
time of the receiving appointment at
the warehouse.
importTypeNoString (1)Valid values are IMporter and
EXporter. This is the default importer/
exporter assigned to the supplier of
the Puchase order.
importIdNoNumber (10)This identifes the importer/exporter
assigned to the supplier. This should
reference the WH. WH folumn with
foreign key created.
clearingZoneIdNoString (5)This column will hold the clearing
zone id.
routingLocationNoString (5)This is the default routing location for
the import order. FK on OUTLOC.
OUTLOC_ID.
reApproveIndNoString (1)This feld indicates that the update to
the corresponding purchase order
needs to be performed, and then it
should be approved again. Valid
values are Y and N.
earliestShipDateNodateThe date before which the item can
not be shipped by the supplier.

Table 5-1276 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
latestShipDateNodateThe date after which the item can not
be shipped by the supplier.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes. This collection is
treated as a single group and should
include all named fexible attributes
for the business entity. If any
confgured named attribute is
missing from the input collection, its
value will be set to NULL.
htsNoCollection of
Object
References the HTS code associated
with a particular item of the purchase
order.

Table 5-1277 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.

Table 5-1278 Hts - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)This feld contains an unique
alphanumeric value that identifes
the item.
packItemNoString (25)This feld contains alphanumeric
value that uniquely identifes the
pack.
htsYesString (25)This feld contains an identifer for
the Harmonized Tariff Schedule code.
statusYesString (1)This feld contains a fag to indicate
the status of the Purchase Order/
Item/HTS relationship. Valid values
are (W)orksheet and (A)pproved.
originCountryYesString (3)This feld contains the country of
manufacture when the HTS tracking
level is M. When the HTS tracking
level is S, this stores the country of
sourcing.
importCountryNoString (3)This feld contains the country that
the item will be imported in to.
assessmentsNoCollection of
Object
References the HTS code assessments
associated with a particular item of
the purchase order.

Table 5-1279 Assessments - Object. See list of elements for detail

Element NameRequiredData TypeDescription
componentYesString (10)This feld contains a user specifed
code representing the specifc
assessment component found on the
ELC_COMP table.
computationValueBaseNoString (10)This feld contains a code
representing the base value for
calculating the assessment.
componentRateYesNumber
(20,4)
This feld contains the rate to be
charged against the calculation base.
This feld will hold a percentage value
if the Calculation Basis of the
Component is Value or a monetary
amount in the currency defned for
the assessment (usually the import
country’s currency) if the Calculation
Basis is Specifc.
perCountNoNumber
(12,4)
This feld contains a count indicating
the amount of the Per Count Unit of
Measure to which the rate applies.
When creating an expense that is
defned as $. 20 for every 10
kilograms of an item ordered, the Per
Count would be 10.
perCountUomNoString (4)This feld contains the unit of
measure in which the Per Count is
specifed. When creating an expense
that is defned as $. 20 for every 10
kilograms of an item ordered, the Per
Count UOM would be the Unit of
Measure code for Kilograms.
nominationFlag1YesString (1)This feld contains a fag that is used
to indicate if the value of the cost
component should be included in the
calculation of another. Nomination
fags are used to calculate the value
of a Computation Value Base (CVB)
which has the corresponding
nomination fag set to Yes (Y). Valid
values are: N/A (N) (the value of this
component will not be included in
CVBs which look at Nomination Flag
1), Add (+) (the value of this
component will be added to CVBs
which look at Nomination Flag 1),
and Subtract (-) (the value of this
component will be deducted from
CVBs which look at Nomination Flag
1). For example, if cost component
ABC has a + in Nomination Flag 1,
then all CVBs that include
Nomination Flag 1 will include this
cost component value in their
calculation basis.

Table 5-1279 (Cont.) Assessments - Object. See list of elements for detail

Element NameRequiredData TypeDescription
inDutyYesString (1)If Import Management is enabled in
Merchandising (i. e. system_options.
import_ind = Y), the inDuty fag is
used to indicate if the value of the
cost component should be included in
total duty.
nominationFlag3YesString (1)This feld contains a fag that is used
to indicate if the value of the cost
component should be included in the
calculation of another. Nomination
fags are used to calculate the value
of a Computation Value Base (CVB)
which has the corresponding
nomination fag set to Yes (Y). Valid
values are: N/A (N) (the value of this
component will not be included in
CVBs which look at Nomination Flag
3), Add (+) (the value of this
component will be added to CVBs
which look at Nomination Flag 3),
and Subtract (-) (the value of this
component will be deducted from
CVBs which look at Nomination Flag
3). For example, if cost component
ABC has a + in Nomination Flag 3,
then all CVBs that include
Nomination Flag 3 will include this
cost component value in their
calculation basis.
inExpenseYesString (1)The inExpense fag is used to indicate
if the value of the cost component
should be included in total expenses.
inAlcYesString (1)The inALC fag is used for cost
components where the retailer does
not expect to receive an actual value
for the charge via an obligation or
customs entry. The inALC fag allows
the value of the cost component to be
included in ALC via direct
nomination and indicates to the
system that the estimated value on
the order should be used as the actual
value as well because no other actual
will be provided.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "orderNo": 464690012,
      "supplier": 2400,
      "currencyCode": "USD",
      "terms": "02",
      "notBeforeDate": "2001-12-31",
      "notAfterDate": "2001-12-31",
      "otbEowDate": "2001-12-31",
      "dept": null,
      "status": "A",
      "includeOnOrderInd": "Y",
      "writtenDate": "2001-12-31",
      "origin": "2",
      "ediPoInd": "Y",
      "preMarkInd": "Y",
      "approvedBy": null,
      "commentDesc": "Create Order",
      "dataLoadingDestination": "RMS",
      "masterOrderNo": null,
      "ladingPort": "7",
      "dischargePort": "480",
      "factory": "100",
      "agent": "007",
      "shipMethod": "32",
      "partnerType1": "AG",
      "partner1": "007",
      "partnerType2": "E",
      "partner2": "4678",
      "partnerType3": null,
      "partner3": null,
      "importCountry": "US",
      "purchaseType": "FOB",
      "paymentMethod": "LC",
      "titlePassLocationType": "FF",
      "titlePassLocation": "US",
      "purchaseOrderType": "4000",
      "orderType": "N/B",
      "buyer": 1000,
      "location": null,
      "locationType": null,
      "promotion": 41,
      "qualityControlInd": "Y",
      "freightTerms": "03",
      "backhaulType": null,
      "backhaulAllowance": null,
      "shipPayMethod": "PO",
      "transportationResponsibilityType": "FF",
      "transportationResponsibility": "US",
      "vendorOrderNo": "9987001",
      "freightContractNo": "111",
      "pickupLocation": null,
      "pickupNo": null,
      "pickupDate": null,
      "appointmentDateTime": "2001-12-31T23:59:59.123Z",
      "importType": "W",
      "importId": 10001,
      "clearingZoneId": null,
      "routingLocation": null,
      "reApproveInd": null,
      "earliestShipDate": "2001-12-31",
      "latestShipDate": "2001-12-31",
      "customFlexAttribute": [
        {
          "name": "REVIEW_DATE",
          "value": null,
          "valueDate": "2001-12-31"
        }
      ],
      "hts": [
        {
          "item": "103900095",
          "packItem": null,
          "hts": "9014111112",
          "status": "W",
          "originCountry": "IN",
          "importCountry": "US",
          "assessments": [
            {
              "component": "DTYCAUS",
              "computationValueBase": null,
              "componentRate": 12,
              "perCount": 1,
              "perCountUom": "EA",
              "nominationFlag1": "N",
              "inDuty": "+",
              "nominationFlag3": "-",
              "inExpense": "N",
              "inAlc": "N"
            }
          ]
        }
      ]
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Update Purchase Order Letters of Credit

Functional Area
Purchase Orders
Business Overview

This webservice is used to update letter of credit information within Merchandising when order payment type is Letter of Credit in order to keep it in sync with an external system that is responsible for maintaining purchase orders. It also updates order header information with the values provided in the request if the order has not yet been submitted or approved. For an existing order that has a payment type of Letter of Credit, the modification of header level order information is not necessary; however header level fields, particularly the payment type can be updated in case a letter of credit needs to be attached to the worksheet order that has an existing payment type other than Letter of Credit. Internally, the service sets the status of the order to Worksheet in order to accommodate the modification of letter of credit information for purchase orders in the system that have been submitted or approved. Validation of updated information is performed before automatic order re-approval is attempted without having to use the separate Update Purchase Order Service. If order has been previously approved and the order is attached to a Letter of Credit, only the Transshipment and Partial Shipment can be changed in the letter of credit details.

For more details on Purchase Orders, see the Create Purchase Order service description.

Service Type
PUT
ReST URL
MerchIntegrations/services/purchaseOrder/lettersOfCredit/update
Input Payload Details

Table 5-1280 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection ofReferences a collection of letter of
Objectcredit records.

Table 5-1281 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNoYesNumber (12)The unique identifer for the order.
supplierNoNumber (10)The identifer of the supplier from
which the order will be sourced. This
cannot be modifed if details exist for
the PO.
currencyCodeNoString (3)The code of the order’s currency. If
not populated, the supplier’s
currency will be used. This feld can
be modifed if the order status is
worksheet or approved and the order
has not been shipped.
termsNoString (15)The sales terms of the order. If not
populated on the create message, will
default to the supplier’s terms. This
can be modifed in worksheet or
approved status.
notBeforeDateNodateThe frst date that delivery will be
accepted. This can be modifed in
worksheet or approved status.
notAfterDateNodateThe last date that delivery will be
accepted. This can be modifed in
worksheet or approved status.
otbEowDateNodateThe end of week date of the OTB
bucket used. This can be modifed in
worksheet or approved status.
deptNoNumber (4)The department in which are all the
items on the order. This feld is
required if the system enforces single
department ordering. This cannot be
modifed if details exist for the PO.
statusNoString (1)The code for the status of the order.
Valid values are ‘W’ worksheet and ‘A’
approved for PO creation. It is also
possible to modify the status to ‘C’
closed.
includeOnOrderIndNoString (1)Indicates if the order should be
included in on-order calculations.
This can be modifed in worksheet or
approved status. Valid values are Y
and N.
writtenDateNodateThe date the order was created. If this
feld is not populated on the message
it will default to the time of creation
in RMS. It cannot be modifed.
originNoString (2)Indicates where the order originated.
Valid values include: 2 - Manual, 6 -
AIP generated order, 7 , 8, 12 -
Consignment Vendor Order.

Table 5-1281 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
ediPoIndNoString (1)Indicates whether or not the order
will be transmitted to the supplier via
an Electronic Data Exchange
transaction. Valid values are: Y =
Submit via EDI, N = Do not use EDI.
preMarkIndNoString (1)This feld indicated whether or not a
supplier has agreed to break an order
into separate boxes so that the boxes
can be sent directly to stores. Valid
values are Y and N.
approvedByNoString (254)Indicates where the order was
approved. It will be the user ID of the
person approving the order.
commentDescNoString (2000)Any comments pertaining to the
order.
dataLoadingDestinationNoString (6)This feld indicates if the order will be
created in RMS or the staging tables.
Valid values are RMS or STG. If not
defned, the default is STG.
masterOrderNoNoNumber (12)This feld indicates the master order
number from which child records
were created.
ladingPortNoString (5)This feld indicates the port from
which the items on the purchase
order are shipped.
dischargePortNoString (5)This feld indicates the port at which
the items on the purchase order will
enter the country of import.
factoryNoString (10)This feld indicates the factory at
which the items on the purchase
order are made.
agentNoString (10)This feld indicates the agent that is
used in the purchase of the items on
the purchase order.
shipMethodNoString (6)This feld indicates the method used
to ship the items on the purchase
order from the country of origin to
the country of import.
partnerType1NoString (6)This feld indicates Partner 1 Type.
partner1NoString (10)This feld indicates the Additional
Partner 1.
partnerType2NoString (6)This feld indicates Partner 2 Type.
partner2NoString (10)This feld indicates the Additional
Partner 2.
partnerType3NoString (6)This feld indicates Partner 3 Type.
partner3NoString (10)This feld indicates the Additional
Partner 3.

Table 5-1281 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
importCountryNoString (3)The identifer of the country into
which the items on the order are
being imported.
purchaseTypeNoString (6)This feld indicates whats included in
the suppliers cost of the item. Valid
values include C (Cost), CI (Cost and
Insurance), CIF (Cost, Insurance and
Freight) and FOB (Free on Board).
paymentMethodNoString (6)This feld indicates the default
method for how purchase orders for
this site will be paid. Valid values are
in the code type PYMT(Payment
Method). Examples are Open
Account(OA), Letter of Credit(LC) and
Wire Transfer(WT).
titlePassLocationTypeNoString (2)Contains the code indicating the type
of location or point where ownership
of merchandise changes hands from
seller/supplier to buyer/retailer. Valid
values are found under the FOBT
code type. Examples are City and
State (AC), Country Of Sourcing (CA)
and City (CI).
titlePassLocationNoString (250)Contains the description of the
location or point where ownership of
merchandise changes hands from
seller/supplier to buyer/retailer.
purchaseOrderTypeNoString (4)This feld contains the value
associated with the PO_TYPE for the
order.
orderTypeNoString (3)Indicates the type of order and which
Open To Buy bucket will be updated.
Valid values include: N/B - Non Basic,
ARB - Automatic Reorder of Basic,
BRB - Buyer Reorder of Basic, DSD -
Direct Store Delivery
buyerNoNumber (4)Contains the number associated with
the buyer for the order.
locationNoNumber (10)This feld contains the location all
items on the order will be delivered
to if populated. i. e. It will mean a
single location order.
locationTypeNoString (1)This feld contains the type of location
in the location feld. Valid values are:
Valid values are S (Store) or W
(Warehouse).
promotionNoNumber (10)Contains the RPCS offer ID associated
with the order to provide a link
between the order dialog and the
promotions dialog.

Table 5-1281 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
qualityControlIndNoString (1)Determines whether or not quality
control will be required when items
for this order are received. Valid
values are Y and N.
freightTermsNoString (30)Indicator that references what freight
terms are related to the order.
backhaulTypeNoString (6)This feld contains the type of
backhaul allowance that will be
applied to the order. Some examples
are Calculated or Flat rate.
backhaulAllowanceNoNumber
(20,4)
This feld will contain the backhaul
allowance value.
shipPayMethodNoString (2)Code indicating the payment terms
for freight charges associated with
the order. Valid values include: CC -
Collect, CF - Collect Freight Credited
Back to Customer, DF - Defned by
Buyer and Seller, MX - Mixed, PC -
Prepaid but Charged to Customer, PO
- Prepaid Only, PP - Prepaid by Seller.
transportationResponsibility
Type
NoString (2)Contains the code indicating the type
of location or point at which the
responsibility for transportation
transfers from the seller/supplier to
the buyer/retailer. Valid values are
found under the FOBT code type.
Examples are City and State (AC),
Country Of Sourcing (CA) and
Country (CC).
transportationResponsibilityNoString (250)Contains the description of the
location or point at which the
responsibility for transportation
transfers from the seller/supplier to
the buyer/retailer.
vendorOrderNoNoString (15)Contains the vendors unique
identifying number for an order.
These orders may have originated by
the vendor through the EDI process
or this number can be associated to a
Oracle Retail order when the order is
created on-line.
freightContractNoNoString (10)The number of the contract with a
shipper that will give specifc freight
rates. This feld is only available
when the system is running Import
functionality.
pickupLocationNoString (250)Contains the location at which the
order will be picked up, if the order is
a Pickup order.
pickupNoNoString (25)Contains the reference number of the
Pickup order.

Table 5-1281 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
pickupDateNodateContains the date when the order can
be picked up from the Supplier. This
feld is only required if the Purchase
Type of the order is Pickup.
appointmentDateTimeNodate-timeThis column will hold the date and
time of the receiving appointment at
the warehouse.
importTypeNoString (1)Valid values are IMporter and
EXporter. This is the default importer/
exporter assigned to the supplier of
the Puchase order.
importIdNoNumber (10)This identifes the importer/exporter
assigned to the supplier. This should
reference the WH. WH folumn with
foreign key created.
clearingZoneIdNoString (5)This column will hold the clearing
zone id.
routingLocationNoString (5)This is the default routing location for
the import order. FK on OUTLOC.
OUTLOC_ID.
reApproveIndNoString (1)This feld indicates that the update to
the corresponding purchase order
needs to be performed, and then it
should be approved again. Valid
values are Y and N.
earliestShipDateNodateThe date before which the item can
not be shipped by the supplier.
latestShipDateNodateThe date after which the item can not
be shipped by the supplier.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes. This collection is
treated as a single group and should
include all named fexible attributes
for the business entity. If any
confgured named attribute is
missing from the input collection, its
value will be set to NULL.
letterOfCreditNoRecordReferences the letter of credit for the
purchase order.

Table 5-1282 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.

Table 5-1283 LetterOfCredit - Object. See list of elements for detail

Element NameRequiredData TypeDescription
lcReferenceIdNoNumber (8)This feld contains the ID of the LC to
which the order is attached.
lcGroupIdNoString (10)This feld contains an ID that can be
used to group Orders together so that
they can be attached to a single Letter
of Credit.
applicantYesString (10)This feld contains the ID of the
applicant being used for the LC
process.
benefciaryYesNumber (10)This feld contains the ID of the
benefciary being used for the LC
process.
merchandiseDescriptionYesString (2000)This feld holds a description of the
merchandise on the order.
transshipmentIndYesString (1)This feld indicates whether or not
the LC to which the order is attached
will allow the order to be
transshipped. Valid values are ‘Y’es
and ‘N’o.
partialShipmentIndYesString (1)This feld indicates whether or not
the LC to which the order is attached
will allow the order to be partially
shipped. Valid values are ‘Y’es and
’N’o.
lcAttachedIndYesString (1)This feld indicates whether or not
the order has been attached to a
Letter of Credit. Valid values are Y
and N.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "orderNo": 464690012,
      "supplier": 2400,
      "currencyCode": "USD",
      "terms": "02",
      "notBeforeDate": "2001-12-31",
      "notAfterDate": "2001-12-31",
      "otbEowDate": "2001-12-31",
      "dept": null,
      "status": "A",
      "includeOnOrderInd": "Y",
      "writtenDate": "2001-12-31",
      "origin": "2",
      "ediPoInd": "Y",
      "preMarkInd": "Y",
      "approvedBy": null,
      "commentDesc": "Create Order",
      "dataLoadingDestination": "RMS",
      "masterOrderNo": null,
      "ladingPort": "7",
      "dischargePort": "480",
      "factory": "100",
      "agent": "007",
      "shipMethod": "32",
      "partnerType1": "AG",
      "partner1": "007",
      "partnerType2": "E",
      "partner2": "4678",
      "partnerType3": null,
      "partner3": null,
      "importCountry": "US",
      "purchaseType": "FOB",
      "paymentMethod": "LC",
      "titlePassLocationType": "FF",
      "titlePassLocation": "US",
      "purchaseOrderType": "4000",
      "orderType": "N/B",
      "buyer": 1000,
      "location": null,
      "locationType": null,
      "promotion": 41,
      "qualityControlInd": "Y",
      "freightTerms": "03",
      "backhaulType": null,
      "backhaulAllowance": null,
      "shipPayMethod": "PO",
      "transportationResponsibilityType": "FF",
      "transportationResponsibility": "US",
      "vendorOrderNo": "9987001",
      "freightContractNo": "111",
      "pickupLocation": null,
      "pickupNo": null,
      "pickupDate": null,
      "appointmentDateTime": "2001-12-31T23:59:59.123Z",
      "importType": "W",
      "importId": 10001,
      "clearingZoneId": null,
      "routingLocation": null,
      "reApproveInd": null,
      "earliestShipDate": "2001-12-31",
      "latestShipDate": "2001-12-31",
      "customFlexAttribute": [
        {
          "name": "REVIEW_DATE",
          "value": null,
          "valueDate": "2001-12-31"
        }
      ],
      "letterOfCredit": {
        "lcReferenceId": 10015000,
        "lcGroupId": null,
        "applicant": "500",
        "beneficiary": 2400,
        "merchandiseDescription": "Bath Essentials",
        "transshipmentInd": "Y",
        "partialShipmentInd": "Y",
        "lcAttachedInd": "Y"
      }
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Update Purchase Orders

Functional Area
Purchase Orders
Business Overview

This webservice is used to update purchase orders in order to keep Merchandising in sync with an external system that is responsible for maintaining purchase orders. It can be used to modify only certain header level attributes of existing purchase orders. There are certain fields that are not allowed to be updated at header level depending on the status, and if these are still provided in the message, they will simply be ignored and no error message will be returned. Modification of the following header level fields is allowed while the order is submitted or approved, without having to set the order in worksheet status: status, not before date, not after date, terms, include on-order indicator, and comments.

For more details on Purchase Orders, see the Create Purchase Order service description.

Service Type

PUT

ReST URL
MerchIntegrations/services/purchaseOrders/update
Input Payload Details

Table 5-1284 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsYesCollection of
Object

Table 5-1285 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
orderNoYesNumber (12)The unique identifer for the order.
supplierNoNumber (10)The identifer of the supplier from
which the order will be sourced. This
cannot be modifed if details exist for
the PO.
termsNoString (15)The sales terms of the order. If not
populated on the create message, will
default to the supplier’s terms. This
can be modifed in worksheet or
approved status.
notBeforeDateNodateThe frst date that delivery will be
accepted. This can be modifed in
worksheet or approved status.
notAfterDateNodateThe last date that delivery will be
accepted. This can be modifed in
worksheet or approved status.
otbEowDateNodateThe end of week date of the OTB
bucket used. This can be modifed in
worksheet or approved status.
deptNoNumber (4)The department in which are all the
items on the order. This feld is
required if the system enforces single
department ordering. This cannot be
modifed if details exist for the PO.
statusNoString (1)The code for the status of the order.
Valid values are ‘W’ worksheet and ‘A’
approved for PO creation. It is also
possible to modify the status to ‘C’
closed.

Table 5-1285 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
exchangeRateNoNumber
(20,10)
The rate of exchange for the PO used
between the order and primary
currencies. This feld can be modifed
if the order status is worksheet or
approved and the order has not been
shipped..
includeOnOrderIndNoString (1)Indicates if the order should be
included in on-order calculations.
This can be modifed in worksheet or
approved status. Valid values are Y
and N.
writtenDateNodateThe date the order was created. If this
feld is not populated on the message
it will default to the time of creation
in RMS. It cannot be modifed.
originNoString (2)Indicates where the order originated.
Valid values include: 2 - Manual, 6 -
AIP generated order, 7 , 8, 12 -
Consignment Vendor Order.
ediPoIndNoString (1)Indicates whether or not the order
will be transmitted to the supplier via
an Electronic Data Exchange
transaction. Valid values are: Y =
Submit via EDI, N = Do not use EDI.
preMarkIndNoString (1)This feld indicated whether or not a
supplier has agreed to break an order
into separate boxes so that the boxes
can be sent directly to stores. Valid
values are Y and N.
approvedByNoString (254)Indicates where the order was
approved. It will be the user ID of the
person approving the order.
commentDescNoString (2000)Any comments pertaining to the
order.
dataLoadingDestinationNoString (6)This feld indicates if the order will be
created in RMS or the staging tables.
Valid values are RMS or STG. If not
defned, the default is STG.
masterOrderNoNoNumber (12)This feld indicates the master order
number from which child records
were created.
ladingPortNoString (5)This feld indicates the port from
which the items on the purchase
order are shipped.
dischargePortNoString (5)This feld indicates the port at which
the items on the purchase order will
enter the country of import.
factoryNoString (10)This feld indicates the factory at
which the items on the purchase
order are made.

Table 5-1285 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
agentNoString (10)This feld indicates the agent that is
used in the purchase of the items on
the purchase order.
shipMethodNoString (6)This feld indicates the method used
to ship the items on the purchase
order from the country of origin to
the country of import.
partnerType1NoString (6)This feld indicates Partner 1 Type.
partner1NoString (10)This feld indicates the Additional
Partner 1.
partnerType2NoString (6)This feld indicates Partner 2 Type.
partner2NoString (10)This feld indicates the Additional
Partner 2.
partnerType3NoString (6)This feld indicates Partner 3 Type.
partner3NoString (10)This feld indicates the Additional
Partner 3.
purchaseTypeNoString (6)This feld indicates what is included
in the suppliers cost of the item. Valid
values include C (Cost), CI (Cost and
Insurance), CIF (Cost, Insurance and
Freight) and FOB (Free on Board).
paymentMethodNoString (6)This feld indicates the default
method for how purchase orders for
this site will be paid. Valid values are
in the code type PYMT(Payment
Method). Examples are Open
Account(OA), Letter of Credit(LC) and
Wire Transfer(WT).
titlePassLocationTypeNoString (2)Contains the code indicating the type
of location or point where ownership
of merchandise changes hands from
seller/supplier to buyer/retailer. Valid
values are found under the FOBT
code type. Examples are City and
State (AC), Country Of Sourcing (CA)
and City (CI).
titlePassLocationNoString (250)Contains the description of the
location or point where ownership of
merchandise changes hands from
seller/supplier to buyer/retailer.
purchaseOrderTypeNoString (4)This feld contains the value
associated with the PO_TYPE for the
order.
orderTypeNoString (3)Indicates the type of order and which
Open To Buy bucket will be updated.
Valid values include: N/B - Non Basic,
ARB - Automatic Reorder of Basic,
BRB - Buyer Reorder of Basic, DSD -
Direct Store Delivery

Table 5-1285 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
buyerNoNumber (4)Contains the number associated with
the buyer for the order.
locationNoNumber (10)This feld contains the location all
items on the order will be delivered
to if populated. i. e. It will mean a
single location order.
locationTypeNoString (1)This feld contains the type of location
in the location feld. Valid values are:
Valid values are S (Store) or W
(Warehouse).
promotionNoNumber (10)Contains the RPCS offer ID associated
with the order to provide a link
between the order dialog and the
promotions dialog.
qualityControlIndNoString (1)Determines whether or not quality
control will be required when items
for this order are received. Valid
values are Y and N.
freightTermsNoString (30)Indicator that references what freight
terms are related to the order.
backhaulTypeNoString (6)This feld contains the type of
backhaul allowance that will be
applied to the order. Some examples
are Calculated or Flat rate.
backhaulAllowanceNoNumber
(20,4)
This feld will contain the backhaul
allowance value.
shipPayMethodNoString (2)Code indicating the payment terms
for freight charges associated with
the order. Valid values include: CC -
Collect, CF - Collect Freight Credited
Back to Customer, DF - Defned by
Buyer and Seller, MX - Mixed, PC -
Prepaid but Charged to Customer, PO
- Prepaid Only, PP - Prepaid by Seller.
transportationResponsibility
Type
NoString (2)Contains the code indicating the type
of location or point at which the
responsibility for transportation
transfers from the seller/supplier to
the buyer/retailer. Valid values are
found under the FOBT code type.
Examples are City and State (AC),
Country Of Sourcing (CA) and
Country (CC).
transportationResponsibilityNoString (250)Contains the description of the
location or point at which the
responsibility for transportation
transfers from the seller/supplier to
the buyer/retailer.

Table 5-1285 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
vendorOrderNoNoString (15)Contains the vendors unique
identifying number for an order.
These orders may have originated by
the vendor through the EDI process
or this number can be associated to
an Oracle Retail order when the
order is created on-line.
freightContractNoNoString (10)The number of the contract with a
shipper that will give specifc freight
rates. This feld is only available
when the system is running Import
functionality.
pickupLocationNoString (250)Contains the location at which the
order will be picked up, if the order is
a Pickup order.
pickupNoNoString (25)Contains the reference number of the
Pickup order.
pickupDateNodateContains the date when the order can
be picked up from the Supplier. This
feld is only required if the Purchase
Type of the order is Pickup.
appointmentDateTimeNodate-timeThis column will hold the date and
time of the receiving appointment at
the warehouse.
importTypeNoString (1)Valid values are IMporter and
EXporter. This is the default importer/
exporter assigned to the supplier of
the Purchase order.
importIdNoNumber (10)This identifes the importer/exporter
assigned to the supplier. This should
reference the WH. WH column with
foreign key created.
clearingZoneIdNoString (5)This column will hold the clearing
zone id.
routingLocationNoString (5)This is the default routing location for
the import order. FK on OUTLOC.
OUTLOC_ID.
reApproveIndNoString (1)This feld indicates that the update to
the corresponding purchase order
needs to be performed, and then it
should be approved again. Valid
values are Y and N.
earliestShipDateNodateThe date before which the item
cannot be shipped by the supplier.
latestShipDateNodateThe date after which the item cannot
be shipped by the supplier.

Table 5-1285 (Cont.) Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
fleIdNoString (20)In order to support supplier pooling
via the buyer worksheet, the
recommended order quantities for
the individual suppliers are linked
together for logistical purposes while
generating orders from the
worksheet based on this identifer.
customFlexAttributeNoCollection of
Object
References a collection of custom
fexible attributes. This collection is
treated as a single group and should
include all named fexible attributes
for the business entity. If any
confgured named attribute is
missing from the input collection, its
value will be set to NULL.

Table 5-1286 CustomFlexAttribute - Object. See list of elements for detail

Element NameRequiredData TypeDescription
nameYesString (30)Holds the attribute name.
valueNoString (250)Holds the numeric or string value of
the attribute.
valueDateNodateHolds the date value of the attribute.
Sample Input Message
{
  "items": [
    {
      "orderNo": 464690012,
      "supplier": 2400,
      "terms": "02",
      "notBeforeDate": "2001-12-31",
      "notAfterDate": "2001-12-31",
      "otbEowDate": "2001-12-31",
      "dept": null,
      "status": "A",
      "exchangeRate": 2,
      "includeOnOrderInd": "Y",
      "writtenDate": "2001-12-31",
      "origin": "2",
      "ediPoInd": "Y",
      "preMarkInd": "Y",
      "approvedBy": null,
      "commentDesc": "Create Order",
      "dataLoadingDestination": "RMS",
      "masterOrderNo": null,
      "ladingPort": "7",
      "dischargePort": "480",
      "factory": "100",
      "agent": "007",
      "shipMethod": "32",
      "partnerType1": "AG",
      "partner1": "007",
      "partnerType2": "E",
      "partner2": "4678",
      "partnerType3": null,
      "partner3": null,
      "purchaseType": "FOB",
      "paymentMethod": "LC",
      "titlePassLocationType": "FF",
      "titlePassLocation": "US",
      "purchaseOrderType": "4000",
      "orderType": "N/B",
      "buyer": 1000,
      "location": null,
      "locationType": null,
      "promotion": 41,
      "qualityControlInd": "Y",
      "freightTerms": "03",
      "backhaulType": null,
      "backhaulAllowance": null,
      "shipPayMethod": "PO",
      "transportationResponsibilityType": "FF",
      "transportationResponsibility": "US",
      "vendorOrderNo": "9987001",
      "freightContractNo": "111",
      "pickupLocation": null,
      "pickupNo": null,
      "pickupDate": null,
      "appointmentDateTime": "2001-12-31T23:59:59.123Z",
      "importType": "W",
      "importId": 10001,
      "clearingZoneId": null,
      "routingLocation": null,
      "reApproveInd": null,
      "earliestShipDate": "2001-12-31",
      "latestShipDate": "2001-12-31",
      "fileId": "String",
      "customFlexAttribute": [
        {
          "name": "REVIEW_DATE",
          "value": null,
          "valueDate": "2001-12-31"
        }
      ]
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS",
  "message": "Service call is successful"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Replenishment

The following services are included in this functional area:

  • Inventory Request Upload Service

    • Create Inventory Requests
  • Replenishment Scheduled Update Upload Service

Inventory Request Upload Service

The following services are included in this functional area:

  • Create Inventory Requests

Create Inventory Requests

Functional Area

Replenishment

Business Overview

Merchandising receives requests for inventory using this service, which allows for items to be ordered by the store and fulfilled through Merchandising. Unlike store order replenishment, Merchandising fulfills inventory requests from the store regardless of replenishment review cycles, delivery dates, and any other factors that may restrict a request from being fulfilled.

For item/store combinations that are on the Store Order type of replenishment in Merchandising, orders will be placed using this service and then the replenishment process builds the recommended order quantity (ROQ) based on the store’s requests. Requests that will not be reviewed prior to the date requested by the store are fulfilled through a one-off process (through this service) that creates warehouse transfers and/or purchase orders to fulfill the requested quantities.

For item/location combinations that are currently using other methods of replenishment in Merchandising, the store requested quantities will be added on top of the calculated recommended order quantities to increase the overall replenishment. It can also be used for item/store combinations not on replenishment in Merchandising. In these cases, the one-off process described above will be used to create purchase orders or transfers, utilizing attributes defined for the item/location.

Other validation notes:

  • Order quantities will be rounded using the store order multiple when an order is created for a warehouse or rounded to the case size if ordering from the supplier.

  • Up charges will always be applied to a transfer, if they are defined for the items with locations matching the transfer.

  • Merchandising will validate that all items belong to the same department when department level ordering (supplier) or department level transfers (warehouse) are being used.

  • The store must be open for ordering.

Service Type

POST

ReST URL
MerchIntegrations/services/inventory/requests/create
Input Payload Details

Table 5-1287 Create - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of inventory
request details.

Table 5-1288 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
requestIdYesNumber (10)Used to build an error record when
necessary.
storeYesNumber (10)The store ID which is requesting the
item. The store must exist as a valid
stockholding store in Merchandising.
requestTypeYesString (2)Defnes the request type. Valid values
are: Store order (SO) or Inventory
Request (IR). If the request type is SO
or blank, then replenishment method
should be store order. If the request
type is IR, delivery slot should be
provided.
detailsYesCollection of
Object
References a collection of items on
the inventory request.

Table 5-1289 Details - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)Unique alphanumeric value that
identifes the item to be requested.
The item must be approved,
orderable, and inventoried item; it
must also be ranged to the location in
the inventory request and must be
active at that location.
quantityYesNumber
(12,4)
This is the quantity being requested
in standard UOM.
unitOfPurchaseYesString (6)Unit of purchase must either be
eaches (EA), case (CA), or pallet (PA).
needDateYesdateThis is the date that the store needs
the item by.
deliverySlotIdNoString (15)Specifes when the store requested
quantity is needed at the store. Valid
delivery slots are in the
DELIVERY_SLOT table.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "requestId": 693933,
      "store": 6000,
      "requestType": "SO",
      "details": [
        {
          "item": "100100076",
          "quantity": 3,
          "unitOfPurchase": "EA",
          "needDate": "2001-12-31",
          "deliverySlotId": null
        }
      ]
    }
  ]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Replenishment Scheduled Update Upload Service

This section describes the Replenishment Schedule service.

Functional Area

Inventory Movement

Business Overview

The primary role of these services is to create, modify, and delete scheduled replenishments and send them to Merchandising.

Create Scheduled Replenishment Updates

This section describes the Create Replenishment Schedule service.

Business Overview

This service creates scheduled replenishments by calling the SVCPROV_REPL package to load input data to the staging tables and then calling the core replenishment package to validate and insert data to the Merchandising tables.

Service Type

Post

ReST URL

inventory/replenishment/createReplSched

Input Parameters

Table 5-1290 ReplSchedCreModRDO

Parameter NameData Type
replAttrIdBigDecimal
schRplDescString
scheduledActiveDateDate
replActionString
itemString
diff1String
diff2String
diff3String
diff4String
deptBigDecimal
class1BigDecimal
subclassBigDecimal
locBigDecimal
locTypeString
autoRangeIndString
activateDateDate
deactivateDateDate
presStockBigDecimal
demoStockBigDecimal
stockCatString
replOrderCtrlString
sourcingWhBigDecimal
supplierBigDecimal
originCountryIdString
pickupLeadTimeBigDecimal
whLeadTimeBigDecimal
replMethodIndString

Table 5-1290 (Cont.) ReplSchedCreModRDO

Parameter NameData Type
replMethodString
optimizeIndString
minStockBigDecimal
maxStockBigDecimal
incrPctBigDecimal
minSupplyDaysBigDecimal
maxSupplyDaysBigDecimal
timeSupplyHorizonBigDecimal
addLeadTimeIndString
invSellingDaysBigDecimal
serviceLevelTypeString
serviceLevelBigDecimal
serviceLevelFloatingStdString
lostSalesFactorBigDecimal
terminalStockQtyBigDecimal
seasonIdBigDecimal
phaseIdBigDecimal
rejectStoreOrdIndString
multRunsPerDayIndString
tsfZeroSohIndString
nonScalingIndString
maxScaleValueBigDecimal
sizeProfileIndString
reviewCycleString
updateDaysIndString
mondayIndString
tuesdayIndString
wednesdayIndString
thursdayIndString
fridayIndString
saturdayIndString
sundayIndString
primaryPackNoString
defaultPackIndString
removePackIndString
mraUpdateString
mraRestoreString
includeAdditionalDemandString
storeUserAccessString

Table 5-1290 (Cont.) ReplSchedCreModRDO

Parameter Name Data Type storeToleranceType String storeToleranceLimit BigDecimal

JSON Structure:
[
 {"replAttrId": null,
  "schRplDesc": null,
  "scheduledActiveDate": "yyyy-MM-dd",
  "replAction": null,
  "item": null,
  "diff1": null,
  "diff2": null,
  "diff3": null,
  "diff4": null,
  "dept": null,
  "class1": null,
  "subclass": null,
  "loc": null,
  "locType": null,
  "autoRangeInd": null,
  "activateDate": "yyyy-MM-dd",
  "deactivateDate": "yyyy-MM-dd",
  "presStock": null,
  "demoStock": null,
  "stockCat": null,
  "replOrderCtrl": null,
  "sourcingWh": null,
  "supplier": null,
  "originCountryId": null,
  "pickupLeadTime": null,
  "whLeadTime": null,
  "replMethodInd": null,
  "replMethod": null,
  "optimizeInd":null,
  "minStock": null,
  "maxStock": null,
  "incrPct": null,
  "minSupplyDays": null,
  "maxSupplyDays": null,
  "timeSupplyHorizon": null,
  "addLeadTimeInd": null,
  "invSellingDays": null,
  "serviceLevelType": null,
  "serviceLevel": null,
  "serviceLevelFloatingStd": null,
  "lostSalesFactor": null,
  "terminalStockQty": null,
  "seasonId": null,
  "phaseId": null,
  "rejectStoreOrdInd": null,
  "multRunsPerDayInd": null,
  "tsfZeroSohInd": null,
  "nonScalingInd": null,
  "maxScaleValue": null,
  "sizeProfileInd": null,
  "reviewCycle": null,
  "updateDaysInd": null,
  "mondayInd": null,
  "tuesdayInd": null,
  "wednesdayInd": null,
  "thursdayInd": null,
  "fridayInd": null,
  "saturdayInd": null,
  "sundayInd": null,
  "primaryPackNo": null,
  "defaultPackInd": null,
  "removePackInd": null,
  "mraUpdate": null,
  "mraRestore": null,
  "includeAdditionalDemand": null,
  "storeUserAccess": null,
  "storeToleranceType": null,
  "storeToleranceLimit": null}]

Output

Table 5-1291 ReplStatusRDO

Parameter NameData Type
statusMsgString
failReplTableList

Table 5-1292 ReplFailRDO

Parameter NameData Type
replAttrIdBigDecimal
itemString
deptBigDecimal
class1BigDecimal
subclassBigDecimal
locBigDecimal
locTypeString
effectiveDateLong
errorMsgString

The output will contain the status of the request including validation errors, if any.

JSON Structure:
{
       "statusMsg": null,
       "failReplTable": [
         {
            "replAttrId": null,
            "item": null,
            "dept": null,
            "class1": null,
            "subclass": null,
            "loc": null,
            "locType": null,
            "effectiveDate": null,
            "errorMsg": null,
            "links": [],
            "hyperMediaContent": {
                "linkRDO": []
            }
         }
       ],
       "links": [],
       "hyperMediaContent": {
            "linkRDO": []
       }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
REPL_ATTR_UPDATE_HEADYesYesNoNo
REPL_ATTR_UPDATE_ITEMYesYesNoNo
REPL_ATTR_UPDATE_LOCYesYesNoNo
SVC_PROCESS_TRACKERYesYesYesNo
CORESVC_REPL_ERRNoYesNoNo
SVC_REPL_ATTR_UPDATEYesYesNoYes
REPL_ITEM_LOCYesNoNoNo
ITEM_MASTERYesNoNoNo
ITEM_SUPP_COUNTRYYesNoNoNo
ITEM_LOCYesNoNoNo
SYSTEM_OPTIONSYesNoNoNo
V_STOREYesNoNoNo
V_WHYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Manage Additional Demand in Replenishment Order Quantity (ROQ)

Functional Area
Replenishment
Business Overview

This service allows external systems to send the additional demand for the following replenishment methods: Time Supply, Time Supply - Issues, Time Supply - Seasonal,

Dynamic, Dynamic - Issues, Dynamic - Seasonal. If the item/Location has additional demand enabled for these forecast based replenishment methods, then the forecasted demand will be augmented based on the additional demand at the location and the replenishment order quantity (ROQ) generated will be based on the overall demand.

This management service supports both create and update actions. After all field validations are completed successfully, the additional demand record in the message will be inserted, if the demand record does not exist for the given item/location/date or, if the additional demand exists, the additional demand quantity and unit of measure (UOM) fields will be updated. If the message contains zero in the additional demand quantity field for an existing record, the service will delete this record from the Merchandising table.

Service Type

POST

ReST URL
MerchIntegrations/services/replenishment/additionalDemand/manage
Input Payload Details

Table 5-1293 Manage - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection.
itemsYesCollection of
Object
References a collection of additional
demand quantities.

Table 5-1294 Items - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)Contains the Item for which
additional demand needs to get
added in ROQ.
locationTypeYesString (1)This indicates the type for the
location. Valid values are S - Store
and W - Warehouse.
locationYesNumber (10)Contains the location corresponding
to the forecast information for the
item.
demandDateYesdateContains the date for additional
demand.
additionalDemandQuantityYesNumber
(12,4)
This feld contains the additional
demand for the given item/location/
date combination.
additionalDemandUomNoString (4)Indicates the unit of measure in
which the additional demand is
uploaded by the external system.
When storing the additional demand
in the database table, the additional
demand is converted into item’s
standard UOM.

Table 5-1295 ManageError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemNoString (25)Contains the Item for which
additional demand needs to get
added in ROQ.
locationTypeNoString (1)This indicates the type for the
location. Valid values are S - Store
and W - Warehouse.
locationNoNumber (10)Contains the location corresponding
to the forecast information for the
item.
demandDateNodateContains the date for additional
demand.
additionalDemandQuantityNoNumber
(12,4)
This feld contains the additional
demand for the given item/location/
date combination.
additionalDemandUomNoString (4)Indicates the unit of measure in
which the additional demand is
uploaded by the external system.
When storing the additional demand
in the database table, the additional
demand is converted into item’s
standard UOM.
errorsNoArray of
String
Holds the errors of the record.
Sample Input Message
{
  "collectionSize": 1,
  "items": [
    {
      "item": "101450060",
      "locationType": "S",
      "location": 1131,
      "demandDate": "2001-12-31",
      "additionalDemandQuantity": 60,
      "additionalDemandUom": "EA"
    }
  ]
}
Response Code: 200 (Success)
Response Code: 400 (Error)

In case of an error, the following standard error response is returned. The element validationErrors is present when input payload or input parameters do not follow the schema definition for this service. The element businessError is present if the payload passes schema validation but an exception is caught while processing the business logic.

Table 5-1296 ManageError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemNoString (25)Contains the Item for which
additional demand needs to get
added in ROQ.
locationTypeNoString (1)This indicates the type for the
location. Valid values are S - Store
and W - Warehouse.
locationNoNumber (10)Contains the location corresponding
to the forecast information for the
item.
demandDateNodateContains the date for additional
demand.
additionalDemandQuantityNoNumber
(12,4)
This feld contains the additional
demand for the given item/location/
date combination.
additionalDemandUomNoString (4)Indicates the unit of measure in
which the additional demand is
uploaded by the external system.
When storing the additional demand
in the database table, the additional
demand is converted into item’s
standard UOM.
errorsNoArray of
String
Holds the errors of the record.
Sample Error Message
{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    {
      "item": "101450060",
      "locationType": "S",
      "location": 1131,
      "demandDate": "2001-12-31",
      "additionalDemandQuantity": 60,
      "additionalDemandUom": "EA",
      "errors": [
        "String"
      ]
    }
  ]
}

Delete Scheduled Replenishment Updates

This section describes the Delete Replenishment Schedule service.

Business Overview

This service deletes scheduled replenishments by calling the SVCPROV_REPL package to load input to the staging tables and then calling the core replenishment package to validate and delete data from the Merchandising tables.

Service Type

Post

ReST URL

inventory/replenishment/deleteReplSched

Input Parameters

Table 5-1297 ReplSchedDelRDO

Parameter NameData Type
replAttrIdBigDecimal
itemString
deptBigDecimal
class1BigDecimal
subclassBigDecimal
locBigDecimal
locTypeString
JSON Structure:
[
   {
      "replAttrId": null,
      "item": null,
      "dept": null,
      "class1": null,
      "subclass": null,
      "loc": null,
      "locType": null
   }
]
Output
Table 5-1298 ReplStatusRDO
Parameter NameData Type
statusMsgString
failReplTableList

The output will contain the status of the request including validation errors, if any.

Table 5-1299 ReplFailRDO

Parameter Name Data Type replAttrId BigDecimal item String dept BigDecimal class1 BigDecimal subclass BigDecimal loc BigDecimal locType String effectiveDate Long errorMsg String JSON Structure: { "statusMsg": null, "failReplTable": [ { "replAttrId": null, "item": null, "dept": null, "class1": null, "subclass": null, "loc": null, "locType": null, "effectiveDate": null, "errorMsg": null, "links": [], "hyperMediaContent": { "linkRDO": [] } } ], "links": [], "hyperMediaContent": { "linkRDO": [] } }

Table Impact
TABLESELECTINSERTUPDATEDELETE
REPL_ATTR_UPDATE_HEADYesYesNoYes
REPL_ATTR_UPDATE_ITEMYesYesNoYes
REPL_ATTR_UPDATE_LOCYesYesNoYes
SVC_PROCESS_TRACKERYesYesYesNo
CORESVC_REPL_ERRNoYesNoNo
SVC_REPL_ATTR_UPDATEYesYesNoYes
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Update Scheduled Replenishment Updates

This section describes the Modify Replenishment service.

Business Overview

This service modifies scheduled replenishments by calling the SVCPROV_REPL package to load input to the staging tables and then calling the core replenishment package to validate and process data to the Merchandising tables.

Service Type

Post

ReST URL

inventory/replenishment/modifyReplSched

Input Parameters

Table 5-1300 ReplSchedCreModRDO

Parameter NameData Type
replAttrIdBigDecimal
schRplDescString
scheduledActiveDateDate
replActionString
itemString
diff1String
diff2String
diff3String
diff4String
deptBigDecimal
class1BigDecimal
subclassBigDecimal

Table 5-1300 (Cont.) ReplSchedCreModRDO

Parameter NameData Type
locBigDecimal
locTypeString
autoRangeIndString
activateDateDate
deactivateDateDate
presStockBigDecimal
demoStockBigDecimal
stockCatString
replOrderCtrlString
sourcingWhBigDecimal
supplierBigDecimal
originCountryIdString
pickupLeadTimeBigDecimal
whLeadTimeBigDecimal
replMethodIndString
replMethodString
optimizeIndString
minStockBigDecimal
maxStockBigDecimal
incrPctBigDecimal
minSupplyDaysBigDecimal
maxSupplyDaysBigDecimal
timeSupplyHorizonBigDecimal
addLeadTimeIndString
invSellingDaysBigDecimal
serviceLevelTypeString
serviceLevelBigDecimal
serviceLevelFloatingStdString
lostSalesFactorBigDecimal
terminalStockQtyBigDecimal
seasonIdBigDecimal
phaseIdBigDecimal
rejectStoreOrdIndString
multRunsPerDayIndString
tsfZeroSohIndString
nonScalingIndString
maxScaleValueBigDecimal
sizeProfileIndString
reviewCycleString

Table 5-1300 (Cont.) ReplSchedCreModRDO

Parameter NameData Type
updateDaysIndString
mondayIndString
tuesdayIndString
wednesdayIndString
thursdayIndString
fridayIndString
saturdayIndString
sundayIndString
primaryPackNoString
defaultPackIndString
removePackIndString
mraUpdateString
mraRestoreString
includeAdditionalDemandString
storeUserAccessString
storeToleranceTypeString
storeToleranceLimitBigDecimal

JSON Structure: [ { "replAttrId": null, "schRplDesc": null, "scheduledActiveDate": "yyyy-MM-dd", "replAction": null, "item": null, "diff1": null, "diff2": null, "diff3": null, "diff4": null, "dept": null, "class1": null, "subclass": null, "loc": null, "locType": null, "autoRangeInd": null, "activateDate": "yyyy-MM-dd", "deactivateDate": "yyyy-MM-dd", "presStock": null, "demoStock": null, "stockCat": null, "replOrderCtrl": null, "sourcingWh": null, "supplier": null, "originCountryId": null,

     "pickupLeadTime": null,
     "whLeadTime": null,
     "replMethodInd": null,
     "replMethod": null,
     "optimizeInd":null,
     "minStock": null,
     "maxStock": null,
     "incrPct": null,
     "minSupplyDays": null,
     "maxSupplyDays": null,
     "timeSupplyHorizon": null,
     "addLeadTimeInd": null,
     "invSellingDays": null,
     "serviceLevelType": null,
     "serviceLevel": null,
     "serviceLevelFloatingStd": null,
     "lostSalesFactor": null,
     "terminalStockQty": null,
     "seasonId": null,
     "phaseId": null,
     "rejectStoreOrdInd": null,
     "multRunsPerDayInd": null,
     "tsfZeroSohInd": null,
     "nonScalingInd": null,
     "maxScaleValue": null,
     "sizeProfileInd": null,
     "reviewCycle": null,
     "updateDaysInd": null,
     "mondayInd": null,
     "tuesdayInd": null,
     "wednesdayInd": null,
     "thursdayInd": null,
     "fridayInd": null,
     "saturdayInd": null,
     "sundayInd": null,
     "primaryPackNo": null,
     "defaultPackInd": null,
     "removePackInd": null,
     "mraUpdate": null,
     "mraRestore": null
     "storeUserAccess": null,
     "storeToleranceType": null,
     "storeToleranceLimit": null}]
Output

Table 5-1301 ReplStatusRDO

Parameter NameData Type
statusMsgString
failReplTableList
Table 5-1302 ReplFailRDO
Parameter NameData Type
replAttrIdBigDecimal
itemString
deptBigDecimal
class1BigDecimal
subclassBigDecimal
locBigDecimal
locTypeString
effectiveDateLong
errorMsgString

The output will contain the status of the request including validation errors, if any.

JSON Structure:
{
     "statusMsg": null,
     "failReplTable": [
        {
           "replAttrId": null,
           "item": null,
           "dept": null,
           "class1": null,
           "subclass": null,
           "loc": null,
           "locType": null,
           "effectiveDate": null,
           "errorMsg": null,
           "links": [],
           "hyperMediaContent": {
              "linkRDO": []
           }
        }
     ],
     "links": [],
     "hyperMediaContent": {
        "linkRDO": []
     }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
REPL_ATTR_UPDATE_HEADYesYesNoNo
REPL_ATTR_UPDATE_ITEMYesYesNoNo
REPL_ATTR_UPDATE_LOCYesYesNoNo
SVC_PROCESS_TRACKERYesYesYesNo
CORESVC_REPL_ERRNoYesNoNo
SVC_REPL_ATTR_UPDATEYesYesNoYes
REPL_ITEM_LOCYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
ITEM_MASTERYesNoNoNo
ITEM_SUPP_COUNTRYYesNoNoNo
ITEM_LOCYesNoNoNo
SYSTEM_OPTIONSYesNoNoNo
V_STOREYesNoNoNo
V_WHYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Sales

The following services are included in this functional area:

  • Sales Download Service

    • Get Item Location Weekly Sales (deprecated)

    • Get Item Location Weekly Sales

  • Store Day User Upload Service

Sales Download Service

The following services are included in this functional area:

  • Get Item Location Weekly Sales (deprecated)

  • Get Item Location Weekly Sales

Get Item Location Weekly Sales (deprecated)

Functional Area

Sales

Business Overview

This service retrieves weekly item sales information for store locations or inventory issues for warehouse locations from the Item Location History table (ITEM_LOC_HIST). Given the high volume of data in this table, it’s recommended to use this service for retrieving filtered information using the available query parameters. This service requires at least one of the following query parameter to be included in the request

End of Week Date

Item

Location

The optional query parameter of ‘Include Late Posted Transaction’ (valid values Y/N) is applicable if End of Week Date query parameter is passed. If this is passed as ‘Y’, the service will also retrieve late posted transactions from previous weeks that were posted within the requested End of Week period. This option is recommended when requesting information for the currently open week or recently closed week.

Table 5-1303 Input Parameters

Parameter NameRequiredData TypeDescription
limitNoString (6)Pagination limit.
Default value is 1000.
offsetkeyNoStringOffset Key
eowDateNoStringEnd of Week Date
(YYYY-MM-DD)
locationNoString (10)Location
locationTypeNoStringLocation Type
itemNoStringItem
deptNoString (4)Dept
classNoString (4)Class
subclassNoString (4)Subclass
salesTypeNoStringSales Type
yearNoString (4)Year 454
monthNoStringMonth 454
includeLatePostedNoStringInclude Late Posted
Transaction
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)
Service Type
GET
ReST URL

MerchIntegrations/services/sales/itemLocation/weekly

Input Payload Details

Table 5-1304 Get - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemYesString (25)Contains the item number in the
distro.
locationYesNumber (10)This contains the destination location
of the store order.

Table 5-1304 (Cont.) Get - Object. See list of elements for detail

Element NameRequiredData TypeDescription
locationTypeYesString (1)This contains the destination location
type of the store order.
Sample Input Message
{
  "item": "100100076",
  "location": 6000,
  "locationType": "S"
}
Response Code: 200 (Success)

Table 5-1305 PageResultItemsItemLocHist - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1306 ItemLocHist - Object. See list of elements for detail

Element NameRequiredData TypeDescription
eowDateNodateThis feld contains the
end of the week date
of the week for the
sales total and other
calculations. Format
YYYY-MM-DD
locationNoNumberThis feld contains
numeric identifer of
the location. This feld
may contain a store,
warehouse.

Table 5-1306 (Cont.) ItemLocHist - Object. See list of elements for detail

Element NameRequiredData TypeDescription
locationTypeNoStringThis feld specifes
type of location in the
location feld. Valid
values are S - Store, W
- Warehouse.
itemNoStringThis feld specifes
unique alphanumeric
value that identifes
the item
salesTypeNoStringThis feld indicates the
type of sale or
inventory movement.
Valid Values are
defned in code detail
with code type SIST.
Default seeded values
are I - Issues From
Warehouses to Stores,
C - Clearance, P -
Promotional, R -
Regular
salesIssuesNoNumberThis feld contains the
number of units sold
or transferred for
item/location/week/
sales type
combination. If the
location type is a store,
then this value
represents sales. If the
location type is a
warehouse, then this
value represents
outbound transfer/
allocation transactions
to stores.
valueNoNumberThis feld contains the
retail value of the sales
for the item/location/
week/sales type
combination. This feld
is stored in the local
currency. This feld
will only hold a value
for stores.

Table 5-1306 (Cont.) ItemLocHist - Object. See list of elements for detail

Element NameRequiredData TypeDescription
grossProftNoNumberThis feld contains the
total gross proft
calculated for the
item/location/week/
sales type. This is
updated for each sale
that occurs during the
week and is calculated
as (sales retail - cost of
sales). This feld will
only hold a value for
stores.
stockNoNumberThis feld contains the
stock on hand for the
item/location
combination at the
end of the week.
retailNoNumberThis feld contains the
unit retail price of the
item at the location at
the end of the week.
This feld is stored in
the local currency.
averageCostNoNumberThis feld contains the
average cost of the
item at the location at
the end of the week.
This feld is stored in
the local currency
yearNoNumberThis feld contain the
identifer of the year in
which the transactions
occurred based on the
454 calendar
monthNoNumberThis feld contain the
identifer of the month
in which the
transactions occurred
based on the 454
calendar
weekNoNumberThis feld contain the
identifer of the week
in which the
transactions occurred
based on the 454
calendar
deptNoNumberThis feld uniquely
identifes the
department
classNoNumberThis feld identifes the
class within the
department

Table 5-1306 (Cont.) ItemLocHist - Object. See list of elements for detail

Element NameRequiredData TypeDescription
subclassNoNumberThis feld identifes the
subclass within the
department and class
combination
postDateNodateHolds the business
date the record is
inserted or last
updated. Format YYYY-
MM-DD

Table 5-1307 LinkItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL
relNoStringThis can be either ‘self’
or ‘next’. The ‘next’
link is present if there
are more pages to
fetches and contains
the offsetkey which
unique identifes the
last record of this
response.
Sample Response Message
{
"items": [
{
"eowDate": "2001-12-31",
"location": 10051,
"locationType": "S",
"item": "110023212",
"salesType": "R",
"salesIssues": 123,
"value": 3823.83,
"grossProfit": 8.6,
"stock": 25,
"retail": 29.95,
"averageCost": 17.2,
"year": 2023,
"month": 1,
"week": 4,
"dept": 1031,
"class": 1,
"subclass": 1,
"postDate": "2001-12-31"
}
],
"hasMore": true,
"limit": 1,
"count": 1,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?limit=1000",
"rel": "self"
}
]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service.

Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}

Get Item Location Weekly Sales

Functional Area

Sales

Business Overview

This service retrieves weekly item sales information for store locations or inventory issues for warehouse locations from the Item Location History table (ITEM_LOC_HIST). Given the high volume of data in this table, it’s recommended to use this service for retrieving filtered information using the available query parameters. This service requires at least one of the following query parameter to be included in the request

End of Week Date

Item

Location

The optional query parameter of ‘Include Late Posted Transaction’ (valid values Y/N) is applicable if End of Week Date query parameter is passed. If this is passed as ‘Y’, the service will also retrieve late posted transactions from previous weeks that were posted within the requested End of Week period. This option is recommended when requesting information for the currently open week or recently closed week.

Service Type
GET
ReST URL
MerchIntegrations/services/sales/itemLocation/weekly
Input Parameters
Parameter NameRequiredData TypeDescription
limitNoString (6)Pagination limit.
Default value is 1000.
offsetkeyNoStringOffset Key
eowDateNoStringEnd of Week Date
(YYYY-MM-DD)
locationNoString (10)Location
locationTypeNoStringLocation Type
itemNoStringItem
deptNoString (4)Dept
classNoString (4)Class
subclassNoString (4)Subclass
salesTypeNoStringSales Type
yearNoString (4)Year 454
monthNoStringMonth 454
includeLatePostedNoStringInclude Late Posted
Transaction
includeNoStringFields to include -
comma separated
(Example
items.name,items.addr
ess.city)
excludeNoStringFields to exclude -
comma separated
(Example
items.address.contactF
ax,items.customFlexAt
tribute)

Response Code: 200 (Success)

Table 5-1308 PageResultItemsItemLocHist - Object. See list of elements for detail

Element NameRequiredData TypeDescription
itemsNoCollection of ObjectCollection of records

Table 5-1308 (Cont.) PageResultItemsItemLocHist - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hasMoreNoBooleanBoolean to signify if
there are additional
pages of data. This is
true if limit = count
limitNoNumberRequested page size. If
the page size was not
defned in the input
request, a default page
size is used to limit the
number of records to
fetch
countNoNumberNumber of record in
the response object
linksNoCollection of ObjectList of Self and/or Next
URL

Table 5-1309 ItemLocHist - Object. See list of elements for detail

Element NameRequiredData TypeDescription
eowDateNodateThis feld contains the
end of the week date
of the week for the
sales total and other
calculations. Format
YYYY-MM-DD
locationNoNumberThis feld contains
numeric identifer of
the location. This feld
may contain a store,
warehouse.
locationTypeNoStringThis feld specifes
type of location in the
location feld. Valid
values are S - Store, W
- Warehouse.
itemNoStringThis feld specifes
unique alphanumeric
value that identifes
the item

Table 5-1309 (Cont.) ItemLocHist - Object. See list of elements for detail

Element NameRequiredData TypeDescription
salesTypeNoStringThis feld indicates the
type of sale or
inventory movement.
Valid Values are
defned in code detail
with code type SIST.
Default seeded values
are I - Issues From
Warehouses to Stores,
C - Clearance, P -
Promotional, R -
Regular
salesIssuesNoNumberThis feld contains the
number of units sold
or transferred for
item/location/week/
sales type
combination. If the
location type is a store,
then this value
represents sales. If the
location type is a
warehouse, then this
value represents
outbound transfer/
allocation transactions
to stores.
valueNoNumberThis feld contains the
retail value of the sales
for the item/location/
week/sales type
combination. This feld
is stored in the local
currency. This feld
will only hold a value
for stores.
grossProftNoNumberThis feld contains the
total gross proft
calculated for the
item/location/week/
sales type. This is
updated for each sale
that occurs during the
week and is calculated
as (sales retail - cost of
sales). This feld will
only hold a value for
stores.
stockNoNumberThis feld contains the
stock on hand for the
item/location
combination at the
end of the week.

Table 5-1309 (Cont.) ItemLocHist - Object. See list of elements for detail

Element NameRequiredData TypeDescription
retailNoNumberThis feld contains the
unit retail price of the
item at the location at
the end of the week.
This feld is stored in
the local currency.
averageCostNoNumberThis feld contains the
average cost of the
item at the location at
the end of the week.
This feld is stored in
the local currency
yearNoNumberThis feld contain the
identifer of the year in
which the transactions
occurred based on the
454 calendar
monthNoNumberThis feld contain the
identifer of the month
in which the
transactions occurred
based on the 454
calendar
weekNoNumberThis feld contain the
identifer of the week
in which the
transactions occurred
based on the 454
calendar
deptNoNumberThis feld uniquely
identifes the
department
classNoNumberThis feld identifes the
class within the
department
subclassNoNumberThis feld identifes the
subclass within the
department and class
combination
postDateNodateHolds the business
date the record is
inserted or last
updated. Format YYYY-
MM-DD

Table 5-1310 LinkItem - Object. See list of elements for detail

Element NameRequiredData TypeDescription
hrefNoStringService URL

Table 5-1310 (Cont.) LinkItem - Object. See list of elements for detail

Element Name Required Data Type Description rel No String This can be either ‘self’ or ‘next’. The ‘next’ link is present if there are more pages to fetches and contains the offsetkey which unique identifies the last record of this response. Sample Response Message { "items": [ { "eowDate": "2001-12-31", "location": 10051, "locationType": "S", "item": "110023212", "salesType": "R", "salesIssues": 123, "value": 3823.83, "grossProfit": 8.6, "stock": 25, "retail": 29.95, "averageCost": 17.2, "year": 2023, "month": 1, "week": 4, "dept": 1031, "class": 1, "subclass": 1, "postDate": "2001-12-31" } ], "hasMore": true, "limit": 1, "count": 1, "links": [ { "href": "https://<server>:<port>/Application/services/resources?limit=1000", "rel": "self" } ] }

Store Day User Upload Service

This section describes the Store Day User service.

Functional Area

Financials

Business Overview

The primary role of this service is to create or delete store day user and send them to Merchandising.

Create Store Day User

Business Overview

This service creates store day user by calling the SVCPROV_STOREDAYUSER package to load input data to the staging tables and then calling the core store day user package to validate and insert data to the Merchandising tables.

Service Type

Post

ReSTURL

financials/StoreDayUserREST/create StoreDayUser

Input Parameters

SvcprovSdudescRecRDO

Parameter NameData Type
storeBigDecimal
businessDateString
userIdString
JSON Structure
[{"store": null,
  • " businessDate": null,

  • " userId": null}]

BusinessDate will take input in string with the format as 'DD-MON-YYYY' and later converted to Timestamp format and insert in table.

Output
SvcprovSduStatusRecRDO
Parameter NameData Type
statusMsgString
sduErrTblList< SvcprovFailSduRecRDO >
SvcprovFailSduRecRDO
Parameter NameData Type
storeBigDecimal
businessDateString
userIdString
errorMsgString

The output will contain the status of the request including validation errors, if any.

JSON Structure:

{
  "statusMsg": null,
  " sduErrTbl ": [
    {
      " store": null,
      " businessDate": null,
      " userId": null,
      "errorMsg": null,
      "links": [],
      "hyperMediaContent": {
        "linkRDO": []
      }
    }
  ],
  "links": [],
  "hyperMediaContent": {
    "linkRDO": []
  }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
STORE_DAY_USERYesYesNoNo
SVC_STORE_DAY_USERYesYesYesYes
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Delete Store Day User

Business Overview

This service deletes store day user by calling the SVCPROV_SDU package to load input data to the staging tables and then calling the core store day user package to validate and delete data to the Merchandising tables.

Service Type

Post

ReSTURL
financials/StoreDayUserREST/delete StoreDayUser
Input Parameters
SvcprovSdudescRecRDO
Parameter NameData Type
storeBigDecimal
businessDateString
userIdString
JSON Structure
[{"store": null,
  " businessDate": null,
  " userId": null}]

BusinessDate will take input in string with the format as 'DD-MON-YYYY' and later converted to Timestamp format and delete from table.

Output
SvcprovSduStatusRecRDO
Parameter NameData Type
statusMsgString
sduErrTblList< SvcprovFailSduRecRDO >
SvcprovFailSduRecRDO
Parameter NameData Type
storeBigDecimal
businessDateString
userIdString
errorMsgString

The output will contain the status of the request including validation errors, if any.

JSON Structure

{
  "statusMsg": null,
  " sduErrTbl ": [
    {
      " store": null,
      " businessDate": null,
      " userId": null,
      "errorMsg": null,
      "links": [],
      "hyperMediaContent": {
        "linkRDO": []
      }
    }
  ],
  "links": [],
  "hyperMediaContent": {
    "linkRDO": []
  }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
STORE_DAY_USERYesNoNoYes
SVC_STORE_DAY_USERYesYesYesYes
JOB_AUDIT_LOGSNoYesNoNo
JOB_AUDIT_PAYLOADNoYesNoNo

Upload and Process Sales

Functional Area

Sales - Sales Processing

Business Overview

This ReST service allows for sales from an external Sales Audit or Point of Sale system to be uploaded directly into Merchandising and provides an alternative solution to existing POSU file upload solution. The validations imposed by this is similar to those enforced by the upload sales process that loads sales data from Sales Audit into Merchandising. This service expects each message to have transaction for a single store location. It supports Item level taxes and promotion or discount details, and determines posting and processing locations using existing configuration.

Service Type

POST

ReST URL
MerchIntegrations/services/sales/uploadAndProcess
Input Payload Details

Table 5-1311 UploadAndProcess - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)The unique identifer
of the store.
salesTransactionsYesCollection of Object

Table 5-1312 SalesTransactions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
transactionSeqNoYesNumber (10)Unique Sequence
Number for each sales
transaction line.
transactionDateYesdateDate sale/return
transaction was
processed at the POS
itemYesString (25)The ID number of an
ITM or REF
transactionTypeYesString (1)Transaction type code
to specify whether
transaction is a sale or
a return
totalSalesQuantityYesNumber (12,4)number of units sold
at a particular location
sellingUomYesString (4)UOM at which this
item was sold
totalSalesValueYesNumber (20,4)net sales value of
goods sold
actualWeightQuantityNoNumber (12,4)The actual weight of
the item, only
populated for
catchweight Items
totalTaxValueYesNumber (20,4)This will indicate total
of all Tax amount for
the item.
noInventoryReturnIndNoString (1)This feld contains an
indicator that
identifes a return
without inventory.
This is generally a
non-required column,
but in case of Returns,
this is required.
returnDispositionNoString (10)This feld will contain
the disposition code
published by RWMS as
part of the Returns
upload to OMS.
returnWarehouseNoNumber (10)This feld contains the
physical warehouse ID
for the warehouse
identifer where the
item was returned.

Table 5-1312 (Cont.) SalesTransactions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
salesTypeYesString (1)This feld indicates
whether the line item
is a Regular Sale, a
customer order
serviced by OMS
(External CO) or a
customer order
serviced by a store (In
Store CO).
customerOrderNoNoString (48)This feld contains the
customer order
number ID.
fulfllOrderNoNoString (48)This feld contains the
fulfllment order
number ID.
fulfllLocationTypeNoString (2)This feld contains the
fulfllment location
type. and Valid values
are found under the
FLTP code type, for e.g
In Store (ST), Supplier
(SU), Warehouse (WH).
fulfllLocationNoString (10)This feld contains the
fulfllment loc ID.
dropShipmentIndNoString (1)Indicates whether the
transaction is a drop
shipment or not. If it is
a drop shipment,
indicator will be ‘Y’.
This feld is not
required, but will be
defaulted to ‘N’ if
blank
origStoreNoString (10)This feld contains the
original store value for
a Return transaction.
postingStoreNoString (10)This feld contains the
store at which the item
sale/return should be
accounted for in case
of cross-store sales
happening at co-
located stores. It is
expected that this feld
will be populated only
for items that are
checked out at a
different store from
the one at which they
are originally
managed.

Table 5-1312 (Cont.) SalesTransactions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
posTranIdNoNumber (20)This feld contains the
unique identifer for a
sale transaction,This is
an Optional feld.
consignmentUnitCostNoString (20)This feld contains the
consignment unit cost
that should be applied
while posting the
sales/returns to
Merchandising.
consignmentRateNoString (12)This feld contains the
consignment rate that
should be applied
while posting the
sales/returns to
Merchandising.
inventoryIdentiferTyp
e
NoString (6)This feld contains the
inventory identifer
type passed in Sales/
Return transactions.
Valid values are found
under the Inventory
Identifer Types (IIDT)
code type, for e.g Lot
(L), Expiry Date (E),
Import Document (D).
inventoryIdNoString (120)This feld contains the
inventory id value
being passed in sales/
return transactions.
taxesNoCollection of Object
promotionsNoCollection of Object

Table 5-1313 Taxes - Object. See list of elements for detail

Element NameRequiredData TypeDescription
taxCodeYesString (6)The Tax Code of the
item
taxRateYesNumber (20,10)The tax rate of the
item.
taxAmountYesNumber (20,4)The item level tax or
prorated transaction
level tax of the item .

Table 5-1314 Promotions - Object. See list of elements for detail

Element NameRequiredData TypeDescription
promoTranTypeYesString (5)This feld contains the
Promotion Sales Types
and Valid values are
found under the PRMT
code type, for e.g In
Store Discount (1004),
Employee Discount
(1005), External
Promotion (2000),
Internal Promotion
(9999).
promoIdNoNumber (10)Promotion number
from Merchandising
promoComponentNoNumber (10,4)Links the promotion to
additional pricing
attributes. This
contains the OFFER_ID
from Pricing.
salesQuantityYesNumber (12,4)Sales quantity sold for
this promotion type
salesValueYesNumber (20,4)Sales value for this
promotion type
discountValueYesNumber (20,4)Discount value for this
promotion type

Table 5-1315 UploadAndProcessError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)Input store Value.
transactionSeqNoYesNumber (10)Input Unique
Sequence Number.
errorMessageYesArray of String
Sample Input Message
{
"store": 1521,
"salesTransactions": [
{
"transactionSeqNo": 1,
"transactionDate": "2001-12-31",
"item": "100100076",
"transactionType": "S",
"totalSalesQuantity": 21,
"sellingUom": "EA",
"totalSalesValue": 210,
"actualWeightQuantity": null,
"totalTaxValue": 13,
"noInventoryReturnInd": null,
"returnDisposition": null,
"returnWarehouse": null,
"salesType": "R",
"customerOrderNo": null,
"fulfillOrderNo": null,
"fulfillLocationType": null,
"fulfillLocation": null,
"dropShipmentInd": "N",
"origStore": null,
"postingStore": null,
"posTranId": 625,
"consignmentUnitCost": null,
"consignmentRate": null,
"inventoryIdentifierType": null,
"inventoryId": null,
"taxes": [
{
"taxCode": "S",
"taxRate": 1,
"taxAmount": 1
}
],
"promotions": [
{
"promoTranType": "1004",
"promoId": null,
"promoComponent": null,
"salesQuantity": 1,
"salesValue": 1,
"discountValue": 1
}
]
}
]
}
Response Code: 200 (Success)
Sample Response Message
{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element “validationErrors” will be present when input payload or input parameters are not as per the schema definition of this service. The element “businessError” will be present if the payload passes schema validation but exception is caught while processing business logic.

Table 5-1316 UploadAndProcessError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)Input store Value.
transactionSeqNoYesNumber (10)Input Unique
Sequence Number.
errorMessageYesArray of String
Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
],
"businessError": [
{
"store": 1521,
"transactionSeqNo": 1,
"errorMessage": [
"u0027Invalid Itemu0027"
]
}
]
}

Fiscal Document Generation Services

The following services are included in this functional area:

  • Fiscal Pre Document Request Service

  • Fiscal Document Request Service

  • Fiscal Document Status Detail Request Service

  • Next Fiscal Document Request Service

  • Fiscal Document Process Status Request Service

  • Fiscal Document Cancel Request Service

  • Fiscal Document Detail Request Service

Fiscal Pre Document Request Service

Functional Area

Finance

Business Overview

This web service supports fiscal document requests from inventory systems. It has a simplified payload for the fiscal document request. Once the shipment system calls this service, Fiscal Document Generation will return an internal ID for the request. This ID can later be used by the shipment systems to request the document(s) created for the specific shipment.

Service Type

Post

ReST URL

{{baseUrl}}/services/private/fdg/processPreDoc

Input

Parameter NameRequiredData TypeDescriptionValid
values
requestSystemYesStringThis feld contains the
identifcation name of
system that is requesting a
fscal document. This name is
provided by system that is
requesting.
docTypeYesStringThis feld contains the type of
the document. Valid values
are codes fromCODE_DETAIL
with aCODE_TYPEofFDTY.
INV,WBL.
extReqIdNoStringThis feld contains the
external request ID. This is
the internal number from
system that is requesting a
fscal document.
For example:asn_nbrID
from shipments.
issueDateYesOffsetDateTimeThis feld contains the issue
date of document in the
formatYYYY-MM-
DDThh:mm:ssTZD(for
example,
1997-07-16T19:20:30+01:00)
equivalent to ISO 8601.
Parameter NameRequiredData TypeDescriptionValid
values
transactionTypeYesStringThis feld contains the code
type of the transaction. Valid
values are codes from
CODE_DETAILwith a
CODE_TYPEofGTRT.
ITMTAX,PO
TSF,DEAL,
RTV,
POSSAL,
SALES,
TAXINF,FO,
FR
currencyCodeYesStringThis feld contains the
currency code for the fscal
document. It is based on
currency code defned in
shipment location that is
going to ship goods.
entitiesYesListCollection of entities.
detailsYesListCollection of item details.
commentsNoListCollection of comments.
referencesNoListCollection of references.
RestFdgEtt

The fiscalDocument/entities node has the following parameters:

Parameter NameRequiredData TypeDescriptionValid
values
entityTypeYesStringThis feld contains the entity
type.
SHIPP,
DEST,
Valid values are codes from
CODE_DETAILwith a
CODE_TYPEofFDED.
VENDOR,CR,
LOC
entityInternalTypeNoStringThis feld contains the
Merchandising entity type.
Valid values are codes from
CODE_DETAILwith a
CODE_TYPEofFDET.
WH,ST,
SUPP,PTNR,
CUST
entityInternalPtnr
Type
NoStringThis feld contains the
Merchandising partner type.
Valid values are codes from
CODE_DETAILwith a
CODE_TYPEofPTNR.
AG,AP,BK,
BR,CN,CO,
E,EC,ES,
EV,FA,FF,
IA,IM,S1,
S2,S3
entityCodeNoStringThis feld contains the
entity’s Merchandising
internal code. For example,
ID of store or warehouse.
Parameter NameRequiredData TypeDescriptionValid
values
nameNoStringThis feld contains the name
responsible for
transportation. This feld is
uses only when there is no
entity code defned for
transportation. It’s used by
SIM shipments because there
is no transportation entity.
carrierVehicleRnNoStringThis feld contains the
vehicle registration number
responsible for
transportation.
carrierVehicleStateNoStringThis feld contains the state
of the country where vehicle,
responsible for
transportation, is registered.
carrierDriverNam
e
NoStringThis feld contains the driver
name responsible for
transportation.
carrierDriverLnNoStringThis feld contains the
information about driver
license ID responsible for
transportation.
RestFdgDtl

The fiscalDocument/details node has the following parameters:

Parameter NameRequiredData TypeDescription
Valid
values
itemYesStringThis feld contains the unique
code ID that identifes the
item.
uomYesStringThis feld contains the unit of
measure used in item in the
fscal document.
qtyYesBigDecimalThis feld contains the
quantity of item in this fscal
document.
referencesNoListCollection of item references
RestFdgRef

The fiscalDocument/details/references node has the following parameters:

Parameter NameRequired
Data Type
DescriptionValid
values
refTypeYes
String
This feld contains the type of
the reference at item level. It
is used when there is any
reference that it is necessary
to add in this fscal
document, as shipment
number, contract number,
order, id, and so on.
Valid values:CODE_DETAIL
FDRT.
FDOC,
ORDER,
SHIPN,
FULLF,
ALLOC,
DISTRO,
BOLN,
TSFNO,
RTVNO,
CONO
,
RTVAUT,
CTRC
refCodeYes
String
This feld contains the
reference code/value of
reference type at item level.
RestFdgText
The_fiscalDocume_
Parameter Name
_nt/comments_node has the followin
Required
Data Type
g parameters:
Description
Valid
values
textYes
String
This feld contains additional
comments at item level. It is
used to provide any
additional information or
legal message important to
fscal document.
textGroupIdNo
String
Text group ID. It is used to
group related comments
when there is more than one
or when the size of a message
is bigger than the size of the
text feld and it is necessary
to generate more than one
line.
textGroupSeq
JSON Input Struc
No
String
ture:
Sequence of the text for a
given group ID. It is used in
case comments information
has more than one line.
"{
"fiscalDocument": {
"requestSyst
"docType": "
em": "SIOCS",
WBL",
"extReqId":"10001",
"transaction
"issueDate":
Type": "TSF",
"2020-12-16T08:19:42-05:00",
   "currencyCode": "USD",
   "entities": [
      {
         "entityType": "SHIPP",
         "entityInternalType": "WH",
         "entityCode": "252525"
      },
      {
         "entityType": "DEST",
         "entityInternalType": "ST",
         "entityCode": "9625518"
      },
      {
         "entityType": "CR",
         "name": "UPS",
         "carrierVehicleRn": "IF5597",
         "carrierVehicleState": "SP",
         "carrierDriverName": "Driver Name",
         "carrierDriverLn": "asasdd984955456"
      }],
   "details": [
      {
         "item": "100450025",
         "uom": "EA",
         "qty": 5,
         "references": [
            {
               "refType": "TSFNO",
               "refCode": "897889"
            }
         ]
      }],
    "comments": [{
        "text": "Additional comments to the document. If it's too l'",
        "textGroupId": "1",
        "textGroupSeq": "1"
            },
            {
        "text": "ong, it can end in other line",
        "textGroupId": "1",
        "textGroupSeq": "2"
            }
        ],
"references": [
      {
         "refType": "DOC",
         "refCode": "9848945651"
      }]
   }
}"

Output

Parameter NameData TypeDescription
requestIdStringThis feld contains the unique
identifer of the document request.
requestSystemStringThis column contains the unique
identifer of the requester.
requestActionStringThis column contains the current
action for the request.
docIdBigDecimalThis column contains the unique
document ID.
docNoStringThis column contains the unique
document number.
docTypeStringThis column contains the type of the
document.
statusStringThis column contains the status of the
document.
extReqIdStringThis feld contains the external request
ID. This is the internal number from
system that is requesting a fscal
document. Example: asn_nbr ID from
shipments.
docPrintUrlStringThis column contains the url to access
the fscal document issued by
government. It can be a url from third-
party repository responsible to
communicate with governement or
other url.
additionalpropertiesListCollection of additional properties.
errorsListCollection of errors.
RestFdgExt
Parameter NameData TypeDescription
keyStringThis column contains the key value of
the entity additional properties at
entity address level.
valueStringThis column contains the value of the
entity additional properties at entity
address level.
typeStringThis column contains the extension
type at entity address level.
RestFdgError
Parameter NameData TypeDescription
errorCodeStringThis feld contains the error code.
errorDescStringThis feld contains the error
description.
JSON Structure:
"{
   "requestId": 62,
   "requestSystem": "SIOCS",
   "requestAction": "A",
   "docId": 62,
   "docNo": null,
   "docType": "WBL",
   "status": "N",
   "extReqId": "10003",
   "docPrintUrl": null,
   "additionalproperties": [],
   "errors": []
}"

Table Impact

TABLESELECTINSERTUPDATEDELETE
FDG_ATTRIB_MAPYesNoNoNo
FDG_ATTRIB_MAP_NMYesNoNoNo
SVC_FDG_DTLYesYesYesNo
SVC_FDG_DTL_PACKYesYesYesNo
SVC_FDG_ERRORYesYesNoNo
SVC_FDG_ETTYesYesYesNo
SVC_FDG_EXTYesYesYesNo
SVC_FDG_HDRYesYesYesNo
SVC_FDG_NON_MERCHYesYesYesNo
SVC_FDG_REFYesYesNoNo
SVC_FDG_TAXYesYesNoYes
SVC_FDG_TEXTYesYesNoNo
CODE_DETAILYesNoNoNo
V CODE_DETAILYesNoNoNo
STOREYesNoNoNo
PARTNERYesNoNoNo
WHYesNoNoNo
LANGYesNoNoNo
FDG_SYSTEM_OPTIONSYesNoNoNo
CFA_ATTRIBYesNoNoNo
CFA_ATTRIB_MAPYesNoNoNo
CFA_ATTRIB_MAP_LABESYesNoNoNo
RTV_DETAILYesNoNoNo
ORDCUSTYesNoNoNo
ORDCUST_DETAILYesNoNoNo
TSFHEADYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
TSFDETAILYesNoNoNo
SHIPSKUYesNoNoNo
TSFDETAIL_CHRGYesNoNoNo
ALLOC_CHRGYesNoNoNo
NON_MERCH_CODE_COMPYesNoNoNo
V_NON_MERCH_CODE_HEAD_TLYesNoNoNo
ADDRYesNoNoNo
PACKITEM_BREAKOUTYesNoNoNo
ITEM_MASTERYesNoNoNo
V_ITEM_MASTERYesNoNoNo
ITEM_SUPPLIERYesNoNoNo
GTS_CALC_INPUT_STGYesYesNoNo
GTS_CALC_OUTPUT_STGYesNoNoNo

Fiscal Document Request Service

Functional Area

Finance

Business Overview

This web service supports fiscal document requests from any system based on a comprehensive payload with a detailed level of input parameters. This web service supports inbound transactions such as PO receiving. Once the requester system calls for this service, Fiscal Document Generation will return an internal ID for the request. This ID can later be used by these systems to request the document(s) created.

Service Type

Post

ReST URL

{{baseUrl}}/services/private/fdg/processDoc

Input

Parameter NameRequiredData TypeDescriptionValid
values
requestSystemYesStringThis feld contains the
identifcation name of
system that is requesting a
fscal document. This name
is provided by system that
is requesting.
docTypeYesStringThis feld contains the type
of the document.
Valid values are codes from
CODE_DETAILwith a
CODE_TYPEofFDTY.
INV,WBL
extReqIdNoStringThis feld contains the
external request ID. This is
the internal number from
system that is requesting a
fscal document. For
example,asn_nbrID from
shipments
issueDateYesOffsetDateTimeThis feld contains the issue
date of document in the
formatYYYY-MM-
DDThh:mm:ssTZD(for
example,
1997-07-16T19:20:30+01:00)
equivalent to ISO 8601.
transactionTypeYesStringThis feld contains the code
type of the transaction.
Valid values are codes from
CODE_DETAILwith a
CODE_TYPEofGTRT.
ITMTAX,
PO,TSF,
DEAL,RTV,
POSSAL,
SALES,
TAXINF,
FO,FR
currencyCodeYesStringThis feld contains the
currency code for the fscal
document. It is based on
currency code defned in
shipment location that is
going to ship goods.
deduceTaxYesStringThis feld contains the
indicator to control in this
request, if taxes is sent from
request system and any
calculation is needed or
request system not send
taxes and it is necessary to
call tax calculation to fll
taxes information.
YorN
entitiesYesListCollection of entities.
detailsYesListCollection of item details.
Parameter NameRequiredData TypeDescriptionValid
values
commentsNoListCollection of comments.
referencesNoListCollection of references.
RestFdgEtt:

The fiscalDocument/entities node has the following parameters:

Parameter NameRequiredData TypeDescriptionValid
values
entityTypeYesStringThis feld contains the
entity type.
Valid values are codes from
CODE_DETAILwith a
CODE_TYPEofFDED.
SHIPP,
DEST,
VENDOR,
CR,LOC
entityInternalTyp
e
NoStringThis feld contains the
Merchandising entity type.
Valid values are codes from
CODE_DETAILwith a
CODE_TYPEofFDET.
WH,ST,
SUPP,
PTNR,CUST
entityInternalPtnr
Type
NoStringThis feld contains the
Merchandising partner
type.
Valid values are codes from
CODE_DETAILwith a
CODE_TYPEofPTNR.
AG,AP,BK,
BR,CN,CO,
E,EC,ES,
EV,FA,FF,
IA,IM,S1,
S2,S3
entityCodeNoStringThis feld contains the
entity’s Merchandising
internal code. For example,
ID of store or warehouse
nameNoStringThis feld contains the name
responsible for
transportation. This feld is
uses only when there is no
entity code defned for
transportation. It’s used by
SIM shipments because
there is no transportation
entity.
carrierVehicleRnNoStringThis feld contains the
vehicle registration number
responsible for
transportation.
carrierVehicleStat
e
NoStringThis feld contains the state
of the country where
vehicle, responsible for
transportation, is
registered.
carrierDriverNam
e
NoStringThis feld contains the
driver name responsible for
transportation.
Parameter NameRequiredData TypeDescriptionValid
values
carrierDriverLnNoStringThis feld contains the
information about driver
license ID responsible for
transportation.
RestFdgDtl:

The fiscalDocument/details node has the following parameters:

Parameter NameRequiredData TypeDescriptionValid
values
ItemYesStringThis feld contains the
unique code ID that
identifes the item.
totalAmtYesBigDecimalThis feld contains the total
value of this item in the
fscal document.
unitAmtYesBigDecimalThis feld contains the item
unit cost of this item in the
document.
uomYesStringThis feld contains the unit
of measure used in item in
the fscal document.
qtyYesBigDecimalThis feld contains the
quantity of item in this
fscal document.
totalTaxAmtNoBigDecimalThis feld contains the total
value of item in this fscal
document.
totalAmtInclTaxNoBigDecimalThis feld contains the total
value including all taxes
value of item in this fscal
document.
taxesNoListCollection of item taxes.
referencesNoListCollection of item
references.
allowanceChargesNoList<RestFdgNonMerch
>
Collection of item
allowance/changes.
RestFdgTax

The fiscalDocument/details/taxes node has the following parameters:

Parameter NameRequiredData TypeDescriptionValid
values
taxTypeYesStringThis feld contains the tax
type at item level.
U(for tax
per value)
orP(for
tax per
percentag
e).
taxCodeYesStringThis feld contains the tax
identifcation code that
should be applied at item
level.
taxAmtYesBigDecimalThis feld contains the tax
value at item level, when
tax type is set as per value.
taxCodeDescYesStringThis feld contains the tax
code description at item
level. This feld can be used
to indicate extra code or
detailed information about
tax code.
RestFdgRef:

The fiscalDocument/details/references node has the following parameters:

Parameter NameRequiredData TypeDescriptionValid
values
refTypeYesStringThis feld contains the type
of the reference at item
level. It is used when there
is any reference that it is
necessary to add in this
fscal document, as
shipment number, contract
number, order, ID, and so
on.
FDOC,
ORDER,
SHIPN,
FULLF,
ALLOC,
DISTRO,
BOLN,
TSFNO,
Valid values:CODE_DETAIL
FDRT.
RTVNO,
CONO,
RTVAUT,CT
RC
refCodeYesStringThis feld contains the
reference code/value of
reference type at item level.
RestFdgNonMerch:

The fiscalDocument/details/allowanceCharges node has the following parameters:

Parameter NameRequiredData TypeDescriptionValid values
chargeIndYesStringThis feld contains the
charge indicator at item
allowance charges level.
Y
(represents
a charge).N
(represents
an
allowance).
nonMerchCodeYesStringThis feld contains the non-
merchandise code that
identify non-merchandise
cost at item allowance
changes level. This value
should be existing in table
NON_MERCH_CODE_HEAD.
nonMerchAmtYesBigDecimalThis feld contains the non-
merchandise value at item
allowance changes level.
taxesNoListCollection of non-
merchandise taxes.
RestFdgTax:

The fiscalDocument/details/allowanceCharges/taxes node has the following parameters:

Parameter NameRequiredData TypeDescriptionValid values
taxTypeYesStringThis feld contains the tax
type at item allowance
charge taxes level.
U(for tax
per value)
orP(for tax
per
percentage).
taxCodeYesStringThis feld contains the tax
identifcation code that
should be applied at item
allowance charges taxes
level.
taxAmtYesBigDecimalThis feld contains the tax
value at item allowance
charges taxes level, when
tax is set up as per value.
taxCodeDescYesStringThis feld contains the tax
code description at item
allowance charges taxes
level. This feld can be
used to indicate extra code
or detailed information
about tax code.
commentsNoListCollection of non-
merchandise taxes
comments.
RestFdgText:

The fiscalDocument/details/allowanceCharges/taxes/comments and fiscalDocument/comments node have the following parameters:

Parameter NameRequiredData TypeDescription
Valid values
textYesStringThis feld contains
additional comments at
item level. It is used to
provide any additional
information or legal
message important to
fscal document.
textGroupIdNoStringText group ID. It is used to
group related comments
when there is more than
one or when the size of a
message is bigger than the
size of the text feld and it
is necessary to generate
more than one line.
textGroupSeqNoStringSequence of the text for a
given group ID. It is used
in case comments
information has more
than one line.
RestFdgRef

The fiscalDocument/references node has the following parameters:

Parameter NameRequiredData TypeDescriptionValid values
refTypeYesStringThis feld contains the
type of the reference at
item level. It is used when
there is any reference that
it is necessary to add in
this fscal document, as
shipment number,
contract number, order,
ID, and so on. Valid
values:CODE_DETAIL
FDRT.
FDOC,ORDER,
SHIPN,FULLF,
ALLOC,
DISTRO,BOLN,
TSFNO,RTVNO,
CONO,RTVAUT,
CTRC
refCodeYesStringThis feld contains the
reference code/value of
reference type at item
level.
JSON Input Structure:
"{
   "fiscalDocument": {
   "requestSystem": "SUPPLIER_PORTAL",
   "docType": "WBL",
   "extReqId": "1234",
   "transactionType": "TSF",
   "issueDate": "2020-12-16T08:19:42-05:00",
   "currencyCode": "USD",
   "deduceTax": "Y",
   "entities": [
         {
            "entityType": "SHIPP",
            "entityInternalType": "WH",
            "entityCode": "7001"
         },
         {
            "entityType": "DEST",
            "entityInternalType": "ST",
            "entityCode": "777701"
         },
         {
            "entityType": "CR",
            "entityInternalType": "PTNR",
            "entityInternalPtnrType": "FF",
            "entityCode": "11",
            "carrierVehicleRn": "IF5597",
            "carrierVehicleState": "SP",
            "carrierDriverName": "Driver Name",
            "carrierDriverLn": "asasdd984955456"
         }],
   "details": [
         {
            "item": "54987897",
            "totalAmt": 10,
            "unitAmt": null,
            "uom": "EA",
            "qty": 5,
            "totalTaxAmt": 7,
            "totalAmtInclTax": 57,
            "taxes": [
               {
                  "taxType": "P",
                  "taxCode": "GST",
                  "taxAmt": 5,
                  "taxCodeDesc": null
               },
               {
                  "taxType": "P",
                  "taxCode": "PST",
                  "taxAmt": 2,
                  "unitTaxAmt": null,
                  "taxCodeDesc": null
               }],
               "references": [
                  {
                     "refType": "ORDER",
                     "refCode": "897889"
                  }
               ],
               "allowanceCharges": [
                  {
                     "chargeInd": "Y",
                     "nonMerchCode": "FRHT",
                     "nonMerchAmt": 10,
                     "taxes": [
                        {
                           "taxType": "P",
                           "taxCode": "GST",
                           "taxAmt": 1.8,
                           "taxCodeDesc": null,
                           "comments": []
                        },
                        {
                           "taxType": "P",
                           "taxCode": "PST",
                           "taxAmt": 1,
                           "taxCodeDesc": null,
                           "comments": []
                        }
                     ]
                  }
               ],
               "comments": [{
                     "text": "Open box Item"
}]
            }
         ],
    "comments": [{
        "text": "Additional comments to the document. If it's too l'",
        "textGroupId": "1",
        "textGroupSeq": "1"
            },
            {
        "text": "ong, it can end in other line",
        "textGroupId": "1",
        "textGroupSeq": "2"
            }
        ],
"references": [{
               "refType": "DOC",
               "refCode": "9848945651"
            }]
   }
}"

Output

Parameter NameData TypeDescription
requestIdStringThis feld contains the unique
identifer of the document request.
requestSystemStringThis column contains the unique
identifer of the requester.
requestActionStringThis column contains the current
action for the request.
docIdBigDecimalThis column contains the unique
document ID.
docNoStringThis column contains the unique
document number.
Parameter NameData TypeDescription
docTypeStringThis column contains the type of the
document.
statusStringThis column contains the status of the
document.
extReqIdStringThis feld contains the external request
ID. This is the internal number from
system that is requesting a fscal
document. Example: asn_nbr ID from
shipments.
docPrintUrlStringThis column contains the url to access
the fscal document issued by
government. It can be a url from third-
party repository responsible to
communicate with governement or
other url.
additionalpropertiesListCollection of additional properties.
errorsListCollection of errors.
RestFdgExt
Parameter Name
Data TypeDescription
keyStringThis column contains the key value of
the entity additional properties at
entity address level.
valueStringThis column contains the value of the
entity additional properties at entity
address level.
typeStringThis column contains the extension
type at entity address level.
RestFdgError
Parameter Name
Data TypeDescription
errorCodeStringThis feld contains the error code.
errorDescStringThis feld contains the error
description.
RestFdgExt
RestFdgError
JSON Structure:
"{
   "requestId": 62,
   "requestSystem": "SIOCS",
   "requestAction": "A",
   "docId": 62,
   "docNo": null,
   "docType": "WBL",
   "status": "N",
   "extReqId": "10003",
   "docPrintUrl": null,
   "additionalproperties": [],
   "errors": []
}"

Table Impact

TABLESELECTINSERTUPDATEDELETE
FDG_ATTRIB_MAPYesNoNoNo
FDG_ATTRIB_MAP_NMYesNoNoNo
SVC_FDG_DTLYesYesYesNo
SVC_FDG_DTL_PACKYesYesYesNo
SVC_FDG_ERRORYesYesNoNo
SVC_FDG_ETTYesYesYesNo
SVC_FDG_EXTYesYesYesNo
SVC_FDG_HDRYesYesYesNo
SVC_FDG_NON_MERCHYesYesNoNo
SVC_FDG_REFYesYesNoNo
SVC_FDG_TAXYesYesNoNo
SVC_FDG_TEXTYesYesNoNo
CODE_DETAILYesNoNoNo
V_CODE_DETAIL_TLYesNoNoNo
STOREYesNoNoNo
PARTNERYesNoNoNo
WHYesNoNoNo
LANGYesNoNoNo
FDG_SYSTEM_OPTIONSYesNoNoNo
CFA_ATTRIBYesNoNoNo
CFA_ATTRIB_MAPYesNoNoNo
CFA_ATTRIB_MAP_LABESYesNoNoNo
RTV_DETAILYesNoNoNo
ORDCUSTYesNoNoNo
ORDCUST_DETAILYesNoNoNo
TSFHEADYesNoNoNo
TSFDETAILYesNoNoNo
SHIPSKUYesNoNoNo
ADDRYesNoNoNo
PACKITEM_BREAKOUTYesNoNoNo
ITEM_MASTERYesNoNoNo
V_ITEM_MASTERYesNoNoNo
ITEM_SUPPLIERYesNoNoNo

Fiscal Document Status Detail Request Service

Functional Area

Finance

Business Overview

In both scenarios for shipment and Inbound, it will be the requestor´s responsibility to pull the approved documents from Fiscal Document Generation in order to conclude their transactions. This web service will be used to provide the status of fiscal documents requested through the Fiscal Pre Document Request Service and Fiscal Document Request Service. In case the document is approved, approval-related data will also be provided, such as the formal document number and print-version URL path.

Service Type

Get

ReST URL

{{baseUrl}}/services/private/fdg/documentStatusDetail?
requestId=<string>&requestSystem=<string>&entityType=<string>&entityInternalTy
pe=<string>&entityCode=<string>&country=<string>

Input Parameters

Parameter NameRequiredData TypeDescriptionValid
values
requestIdYesStringThis column contains the
unique identifer of the
document request.
requestSystemNoStringThis column contains the
unique identifer of the
requester.
entityTypeNoStringThis feld contains the
entity type.
Valid values are codes from
CODE_DETAILwith a
CODE_TYPEofFDED.
SHIPP,
DEST,
VENDOR,CR,
LOC
entityInternalTypeNoStringThis feld contains the
Merchandising entity type.
Valid values are codes from
CODE_DETAILwith a
CODE_TYPEofFDET.
WH,ST,
SUPP,PTNR,
CUST
entityCodeNoStringThis column contains the
entity’s Merchandising
internal code.
countryNoStringThis column contains the
country where is the
location address.

Output

Parameter NameData TypeDescription
requestIdStringInternal fscal document REQUEST ID
generated by FDG. This ID can be
used to identify the fscal
document(s) being processed.
requestSystemStringName of the system that performed
the request for a fscal document.
requestActionStringAction code to be passed along with
the request for a fscal document
process.
docNoStringOfcial fscal document number.
This number is given to approved
documents.
docTypeStringValid values:INV(Invoice),WBL
(eWaybill),NFe(Nota Fiscal
Eletronica).
statusStringInternal FDG status of the fscal
document.
extReqIdStringExternal system´s request ID used to
link FDG internal ID with the
requestor system´s transaction ID.
docPrintUrlStringURL of the fscal document report.
additionalpropertiesListCollection of additional properties.
errorsListCollection of errors.
RestFdgExt
Parameter NameData TypeDescription
keyStringThis column contains the key value
of the entity additional properties at
entity address level.
valueStringThis column contains the value of the
entity additional properties at entity
address level.
typeStringThis column contains the extension
type at entity address level.
RestFdgError
Parameter NameData TypeDescription
errorCodeStringThis feld contains the error code.
errorDescStringThis feld contains the error
description.
JSON Structure:
"{
   "requestId": 50039,
   "requestSystem": "SUPPLIER_PORTAL",
   "requestAction": "A",
   "docId": 50038,
   "docNo": null,
   "docType": "WBL",
   "status": "S",
   "extReqId": "10000600",
   "docPrintUrl": null,
   "additionalproperties": [],
   "errors": []
}"

Table Impact

TABLESELECTINSERTUPDATEDELETE
SVC_FDG_ERRORYesNoNoNo
SVC_FDG_EXTYesNoNoNo
SVC_FDG_HDRYesNoNoNo
FDG_ERRORYesNoNoNo
FDG_EXTYesNoNoNo
FDG_HDRYesNoNoNo

Next Fiscal Document Request Service

Functional Area

Finance

Business Overview

This is the service to be called by the 3rd-party system in charge of communicating fiscal document request to local Governments in order to fetch documents ready to be approved.

Service Type

Get

ReST URL

{{baseUrl}}/services/private/fdg/nextDocumentDetail?
docId=<string>&docType=<string>&entityType=<string>&internalType=<string>&inte
rnalCode=<string>&integrationSystemName=<string>&integrationSystemId=<string>

Input Parameters

Parameter NameRequiredData TypeDescriptionValid
values
docIdNoStringInternal fscal document ID
generated by FDG. This ID is
unique to each fscal
document created.
docTypeNoStringThis feld contains the type
of the document.
Valid values are codes from
CODE_DETAILwith a
CODE_TYPEofFDTY.
INV,WBL
entityTypeNoStringThis feld contains the entity
type.
Valid values are codes from
CODE_DETAILwith a
CODE_TYPEofFDED.
SHIPP,
DEST,
VENDOR,
CR,LOC
internalTypeNoStringFilter criteria to fetch
documents based on specifc
entity types in
Merchandising irrespective
of their role in the fscal
documents.
WH,ST,
SUPP,
PTRN,CUST
internalCodeNoStringFilter criteria to fetch
documents based on a
specifc entity code. This
feld contains the entity’s
Merchandising internal code
and must sent in
conjunction with
entityInternatTypetag.
For example, ID of store or
warehouse
integrationSystemN
ame
YesStringName of the integration
system that will process this
document.
integrationSystemIdYesStringUnique identifer to be used
by the integration system.

Output

Parameter NameData TypeDescription
requestIdStringInternal fscal document REQUEST ID
generated by FDG. This ID can be
used to identify the fscal
document(s) being processed.
requestSystemStringName of the system that performed
the request for a fscal document.
Parameter NameData TypeDescription
requestActionStringAction code to be passed along with
the request for a fscal document
process.
docIdBigDecimalInternal fscal document ID
generated by FDG. This ID is unique
to each fscal document created.
docNoStringOfcial fscal document number. This
number is given to approved
documents.
statusStringInternal FDG status of the fscal
document.
docTypeStringValid values:INV(Invoice),WBL
(eWaybill),NFe(Nota Fiscal
Eletronica).
docTypeCodeStringExtended description of a document
type.
extReqIdStringExternal system´s request ID used to
link FDG internal ID with the
requestor system´s transaction ID.
transactionTypeStringIdentifcation of the transaction
associated with the fscal document.
issueDateOffsetDateTimeIssue date of the fscal document.
Date defned at the time the
document is submitted for approval.
dueDatedatePayment date of fscal document or
invoice.
docLangStringLanguage of fscal document. It is
based on language defned in source
location.
printerIdStringPrinter ID that is designated to print
fscal document.
docPrintUrlStringURL of the fscal document report.
currencyCodeStringCurrency code for the fscal
document. It is based on currency
code defned in source location.
totalTaxAmtBigDecimalTotal TAX amount of the fscal
document. This feld is the sum of
totalTaxAmtof all items of the
document. Rounding applied based
on system option.
totalNonMerchTaxAmtBigDecimalTotal TAX amount of allowances/
charges of the fscal document.
Rounding applied based on system
option.
totalAmtInclTaxBigDecimalTotal value of fscal document
including taxes. This feld is the sum
oftotalAmtInclTaxof all items of
the document. Rounding applied
based on system option.
Parameter NameData TypeDescription
totalAmtExclTaxBigDecimalTotal value of fscal document
excluding taxes. This feld has the
totalAmtInclTaxminus
totalTaxAmt. Rounding applied
based on system option.
totalAllowanceBigDecimalTotal value of all allowances in fscal
document. This feld is the sum of
totalAllowanceof all items of the
document. Rounding applied based
on system option.
totalChargeBigDecimalTotal value of all charges in fscal
document. This feld is the sum of
totalChargeof all items of the
document. Rounding applied based
on system option.
totalRoundingBigDecimalThe rounding amount (positive or
negative) added to produce the line
extensiontotalAmt. This feld is the
sum oftotalRoundingof all items of
the document.
termsStringPayment terms used in this
transaction
deduceTaxStringFlag that indicates if taxes were
calculated by the system or informed
at the fscal document request.
createByStringUser ID that created the record.
createDatetimedateRecord creation date.
lastUpdateByStringUser ID that did last update of fscal
document.
lastUpdateDatetimedateDate of last update of fscal
document.
entitiesListCollection of entities.
detailsListCollection of item details
RestFdgEtt
Parameter NameData TypeDescription
entityTypeStringEntity type.
entityInternalPtnrTypeStringMerchandising partner type.
entityInternalTypeStringMerchandising entity type.
entityCodeStringInternal Merchandising code of the
entity. For example, ID of store or
warehouse
nameStringEntity name.
legalNameStringEntity’s legal name.
carrierVehicleRnStringCarrier vehicle´s registration
number.
carrierVehicleStateStringCarrier vehicle´s state.
Parameter NameData TypeDescription
carrierDriverNameStringCarrier driver´s name.
carrierDriverLnStringCarrier driver´s license number.
addressRestFdgEttAddrCollection of address details.
identifcationListCollection of Entity Identifcation
Additional Properties. Fiscal
Attributes will be send in this group.
RestFdgEttAddr
Parameter NameData TypeDescription
streetStringStreet name of the entity´s address.
additionalStreetNameStringExtension of street name of the entity
´s address.
complementStringAdditional information of entity´s
address, such as neighborhood,
county, etc.
cityStringCity name of entity´s address.
jurisdictionCodeStringJurisdiction code of entity´s address.
This can be legal code associated to
city, county or any other level.
postalCodeStringZip or postal code of entity´s
address.
countryStringCountry name of entity´s address.
telephoneStringTelephone number of the person
who is the contact point.
emailStringEmail address of the person who is
the contact point.
stateStringState name of entity´s address.
contactNameStringContact name.
additionalpropertiesListCollection of address additional
properties.
RestFdgExt
Parameter NameData TypeDescription
keyStringThis column contains the key value
of the entity additional properties at
entity address level.
valueStringThis column contains the value of the
entity additional properties at entity
address level.
typeStringThis column contains the extension
type at entity address level.
descriptionStringDescription of additional property
data.
RestFdgExt (identification)
Parameter NameData TypeDescription
keyStringThis column contains the key value
of the entity additional properties at
entity address level.
valueStringThis column contains the value of the
entity additional properties at entity
address level.
typeStringThis column contains the extension
type at entity address level.
descriptionStringDescription of additional property
data.
referencesListCollection of references.
totaltaxesListCollection of taxes.
errorsListCollection of errors.
allowanceChargesList<RestFdgNonMerc
h>
Collection of allowance charges.
additionalpropertiesListCollection of additional properties.
commentsListCollection of comments.
RestFdgDtl
Parameter NameData TypeDescription
lineNolongSequential number of the item in
fscal document. This number is a
sequence starts with number one.
Any gap is not allowed.
ItemStringUnique code ID that identifes the
item.
itemDescStringLong description of the item.
itemShortDescStringShort description of the item.
totalAmtBigDecimalTotal amount for the item inclusive
of allowances and charges.
Calculation formula is
((unitAmt*qty) -totalAllowance+
totalCharge). Rounding applied
based on system option.
unitAmtBigDecimalItem unit amount. No rounding
applied.
uomStringUnit of measure used in item in the
fscal document.
qtyBigDecimalQuantity of item in the fscal
document.
totalTaxAmtBigDecimalTotal amount of taxes applied to the
item. This feld is sum of alltaxAmt
at tax level for this item. Rounding
applied based on system option.
Parameter NameData TypeDescription
totalAmtInclTaxBigDecimalTotal amount for item inclusive of
taxes. Calculation formula is
totalAmt+totalTaxAmt. Rounding
applied based on system option.
totalRoundingBigDecimalThe rounding amount (positive or
negative) added to produce the line
extensiontotalAmt. Calculation
formula ((unitAmt*qty) -
totalAllowance+totalCharge)-
totalAmt.
totalAllowanceBigDecimalTotal amount of all allowances at
item level. This feld is sum of all
allowances atallowanceCharges
level for this item. Rounding applied
based on system option.
totalChargeBigDecimalTotal amount of all charges at item
level. This feld is sum of all charges
atallowanceChargeslevel for this
item. Rounding applied based on
system option.
packIndStringPack indicator. Valid values:Y(this
item is a pack) orN(this item is not a
pack).
gtinStringGTIN number (Global Trade Item
Number) of item.
gtinTypeStringGTIN Type. Valid values:GTIN-8,
GTIN-12,GTIN-13,GTIN-14
vpnStringVendor Product Number (VPN)
associated with the item.
taxesListCollection of item taxes.
referencesListCollection of item references
allowanceChargesList<RestFdgNonMerc
h>
Collection of item allowance charges.
packdetailsListCollection of item pack details.
additionalpropertiesListCollection of item additional
properties.
commentsListCollection of item comments.
RestFdgTax
Parameter NameData TypeDescription
taxTypeStringTax type.
taxCodeStringTax identifcation code.
taxRateBigDecimalTax rate when tax type is set as
percentage.
taxAmtBigDecimalTotal tax amount for the tax code.
Rounding applied based on system
option.
Parameter NameData TypeDescription
unitTaxAmtBigDecimalTax amount per unit for the tax code.
taxBasisBigDecimalTax basis amount used to calculate
tax value based ontaxRatefeld.
Rounding applied based on system
option.
taxCodeDescStringTax code description. This feld can
be used to indicate extra code or
detailed information about tax code.
additionalpropertiesListCollection of taxes addition
properties.
commentsListCollection of taxes comments.
RestFdgText
Parameter NameData TypeDescription
textStringAdditional information and/or
comments. It is used to provide any
additional information or legal
message important to the fscal
document.
textGroupIdStringText group ID. It is used to group
related comments when there is more
than one or when the size of a
message is bigger than the size of the
text feld and it is necessary to
generate more than one line.
textGroupSeqStringSequence of the text for a given group
ID. It is used in case comments
information has more than one line.
RestFdgRef
Parameter NameData TypeDescription
refTypeStringType of the reference information. It
is used when there is any reference
that it is necessary to add in the fscal
document, as shipment number,
contract number, order, ID, and so
on.
Valid values are pre-defned in the
Merchandising system.
refCodeStringReference code/value of reference
type.
RestFdgNonMerch
Parameter NameData TypeDescription
chargeIndStringCharge indicator.
Parameter NameData TypeDescription
nonMerchCodeStringNon-merchandise code that identifes
a non-merchandise cost used as a
charge or allowance.
nonMerchCodeDescStringNon-merchandise code description.
It is used to provide more detailed
about non-merchandise code, for
example: allowance details, types of
non-merchandise code such as
Freight, Insurance, and so on.
nonMerchAmtBigDecimalNon-merchandise amount.
nonMerchTypeStringNon-merchandise type exclusive for
Charges.
taxesListCollection of taxes for non-
merchandise.
additionalpropertiesListCollection of additional properties
for non-merchandise.
commentsListCollection of comments for non-
merchandises.
packdetails
Parameter NameData TypeDescription
itemStringUnique alphanumeric ID of a pack
component that is part of item pack.
itemQtyBigDecimalQuantity of the component item that
is part of the pack.
itemDescStringDescription of the component item
component.
uomStringUnit of measure of the component
item.
totaltaxes
Parameter NameData TypeDescription
taxTypeStringNot applicable fortotalTaxes.
taxCodeStringTax identifcation code.
taxRateBigDecimalNot applicable fortotalTaxes.
taxAmtBigDecimalSum oftaxAmtfor all items for the
tax code. Rounding applied based on
system option
unitTaxAmtBigDecimalNot applicable fortotalTaxes.
taxBasisBigDecimalSum oftaxBasisfor all items for the
tax code. Rounding applied based on
system option.
taxCodeDescStringTax code description. This feld can
be used to indicate extra code or
detailed information about tax code.
JSON Structure:
"{
   "fiscalDocument": {
   "docId": 17200,
   "requestId": 17207,
   "requestSystem": "OMNI",
   "requestAction": "A",
   "status": "R",
   "docNo": "17200",
   "docType": "WBL",
   "docTypeCode": null,
   "extReqId": "10065007",
   "transactionType": "SALES",
   "issueDate": 1617196782000,
   "dueDate": null,
   "printerId": null,
   "docPrintUrl": null,
   "currencyCode": "USD",
   "totalTaxAmt": null,
   "totalNonMerchTaxAmt": null,
   "totalAmtInclTax": null,
   "totalAmtExclTax": null,
   "totalAllowance": null,
   "totalCharge": null,
   "totalRounding": null,
   "terms": null,
   "docLang": "EN",
   "deduceTax": null,
   "createBy": "RMS_ADMIN",
   "createDatetime": "2021-06-16",
   "lastUpdateBy": "RFM01",
   "lastUpdateDatetime": "2021-06-16",
   "entities": [
      {
         "entityType": "SHIPP",
         "entityInternalType": "ST",
         "entityInternalPtnrType": null,
         "entityCode": "990011",
         "name": "QABR-Store Test Washington",
         "legalName": "QABR-Store Test Washington",
         "carrierVehicleRn": null,
         "carrierVehicleState": null,
         "carrierDriverName": null,
         "carrierDriverLn": null,
         "address": {
            "street": "R da Juta",
            "additionalStreetName": "1512",
            "complement": null,
            "city": "Washijngton",
            "jurisdictionCode": null,
            "postalCode": "03308070",
            "country": "US",
            "telephone": "2360873",
            "email": "washington.dias@oracle.com",
            "state": "DC",
            "contactName": "Washington Dias",
            "additionalproperties": []
         },
         "identification": []
      },
      {
         "entityType": "DEST",
         "entityInternalType": "CUST",
         "entityInternalPtnrType": null,
         "entityCode": "75",
         "name": "wdias losnisk",
         "legalName": "JADLOG",
         "carrierVehicleRn": null,
         "carrierVehicleState": null,
         "carrierDriverName": null,
         "carrierDriverLn": null,
         "address": {
            "street": "end10",
            "additionalStreetName": "end20",
            "complement": "end30",
            "city": "Washington",
            "jurisdictionCode": "3100104",
            "postalCode": "08573160",
            "country": "US",
            "telephone": null,
            "email": null,
            "state": "DC",
            "contactName": "wdias losnisk",
            "additionalproperties": []
         },
         "identification": []
      },
      {
         "entityType": "CR",
         "entityInternalType": "PTNR",
         "entityInternalPtnrType": "FF",
         "entityCode": "11",
         "name": "Carrier",
         "legalName": "Carrier",
         "carrierVehicleRn": "CJU0939",
         "carrierVehicleState": "São Paulo",
         "carrierDriverName": "Djalma da Carreta",
         "carrierDriverLn": "77799573959957",
         "address": {
            "street": "15333 JFK Blvd",
            "additionalStreetName": null,
            "complement": null,
            "city": "Houston",
            "jurisdictionCode": null,
            "postalCode": "77032",
            "country": "US",
            "telephone": null,
            "email": "juliano.costa@oracle.com",
            "state": "TX",
            "contactName": "Juliano Costa",
            "additionalproperties": [
               {
                  "key": "NIP",
                  "value": "NIP09",
                  "type": "VARCHAR2",
                  "description": "NIP"
               },
               {
                  "key": "POSTALCODE",
                  "value": "POST09",
                  "type": "VARCHAR2",
                  "description": "Postal Code"
               }
            ]
         },
         "identification": [
            {
               "key": "TAX_ID",
               "value": "332424324",
               "type": "VARCHAR2",
               "description": "TAX ID"
            }
         ]
      }
      ],
   "details": [
      {
         "lineNo": 1,
         "item": "100900006",
         "itemDesc": "item regular scenario 3",
         "itemShortDesc": "regular item regular scenario 3",
         "totalAmt": null,
         "unitAmt": null,
         "uom": "EA",
         "qty": 5,
         "totalTaxAmt": null,
         "totalAmtInclTax": null,
         "packInd": "N",
         "gtin": null,
         "gtinType": "ITEM",
         "vpn": null,
         "totalRounding": null,
         "totalAllowance": null,
         "totalCharge": null,
         "taxes": [],
         "references": [],
         "allowanceCharges": [],
         "packdetails": [],
         "additionalproperties": [],
         "comments": []
      },
      {
         "lineNo": 2,
         "item": "100900065",
         "itemDesc": "itemm simple pack scenario 3",
         "itemShortDesc": "itemm simple pack scenario 3",
         "totalAmt": null,
         "unitAmt": null,
         "uom": "EA",
         "qty": 5,
         "totalTaxAmt": null,
         "totalAmtInclTax": null,
         "packInd": "Y",
         "gtin": null,
         "gtinType": "ITEM",
         "vpn": null,
         "totalRounding": null,
         "totalAllowance": null,
         "totalCharge": null,
         "taxes": [],
         "references": [],
         "allowanceCharges": [],
         "packdetails": [
            {
               "item": "100900057",
               "itemQty": 10,
               "itemDesc": "item componente de simple pack",
               "uom": "EA"
            }
         ],
         "additionalproperties": [],
         "comments": []
      }],
   "references": [
      {
         "refType": "CONO",
         "refCode": "000000000000000000000000000000000000000090115067"
      },
      {
         "refType": "CONO",
         "refCode": "000000000000000000000000000000000000000090115068"
      }],
   "totaltaxes": [],
   "errors": [],
   "allowanceCharges": [],
   "additionalproperties": [],
   "comments": [
      {
         "text": "Waybill payload Scenario 3",
         "textGroupId": null,
         "textGroupSeq": null
      },
      {
         "text": "Test Scenario predoc 3",
         "textGroupId": null,
         "textGroupSeq": null
      }]
   }
}"

Table Impact

TABLESELECTINSERTUPDATEDELETE
SVC_FDG_DTLYesNoNoNo
SVC_FDG_DTL_PACKYesNoNoNo
SVC_FDG_ERRORYesNoNoNo
SVC_FDG_ETTYesNoNoNo
SVC_FDG_EXTYesNoNoNo
SVC_FDG_HDRYesNoYesNo
SVC_FDG_NON_MERCHYesNoNoNo
SVC_FDG_REFYesNoNoNo
SVC_FDG_TAXYesNoNoNo
SVC_FDG_TEXTYesNoNoNo
FDG_DTLYesNoNoNo
FDG_DTL_PACKYesNoNoNo
FDG_ERRORYesNoNoNo
FDG_ETTYesNoNoNo
FDG_EXTYesNoNoNo
FDG_HDRYesNoNoNo
FDG_NON_MERCHYesNoNoNo
FDG_REFYesNoNoNo
FDG_TAXYesNoNoNo
FDG_TEXTYesNoNoNo

Fiscal Document Process Status Request Service

Functional Area

Finance

Business Overview

This web service will be used by 3rd-party systems in charge of communicating fiscal document requests to local Governments, to provide to Fiscal Document Generation the approval status and associated data such as the formal document number and print version URL path.

Service Type

Post

ReST URL

{{baseUrl}}/services/private/fdg/processDocStatus

Input

Parameter NameRequiredData TypeDescriptionValid
values
integrationSystemNa
me
YesStringName of the integration
system that will process this
document.
integrationSystemIdYesStringUnique identifer to be used
by the integration system.
requestActionNoStringAction code returned for a
given document in the
nextDocumentDetail
response.
A
(approve)
orC
(cancel).
docIdYesStringDocument ID returned for a
given document in
nextDocumentDetail
response.
docNoYesStringDocument number
returned for a given
document in
nextDocumentDetail
response.
operationStatusYesStringStatus of the processing
executed by a third party
for the given document.
Received means the
document payload was
properly consumed by the
third party system and it is
ready to proceed with its
processing. Success means
that the document was
successfully approved. Fail
means that the document
approval failed; in this case
it is expected that the error
or errors will be provided.
R
(Received)
S(Success)
orF(Fail)
extDocNoNoStringExternal document number
when applicable. This feld
should be populated with
the approved fscal
document number when it
is generated by
Government.
docPrintUrlNoStringURL to access or download
the fscal document
printable version (PDF).
additionalpropertiesNoListCollection of additional
properties.
errorsNoListCollection of errors.
RestFdgExt:
Parameter NameRequiredData TypeDescription
Valid values
keyNoStringKey value of the
additional property
data.
valueNoStringValue of the additional
property data.
typeNoStringData type of the
additional property.
VARCHAR2,
NUMBERor
DATE
description
RestFdgError:
NoStringDescription of
additional property
data.
Parameter NameRequiredData TypeDescription
Valid
values
errorCodeYesStringError code defned by 3rd
party.
errorDescYesStringError description defned
by 3rd party. This
description must have
enough detail so the
problem can be identifed.
RestFdgError:
JSON Input Structure:
"{
  "integrationSystemName": "3RDPARNER",
  "integrationSystemId": 777,
  "requestAction": "A",
  "docId": 669854788524448800,
  "docNo": 1235489884,
  "operationStatus": "S",
  "extDocNo": 999999999999,
  "docPrintUrl": "www.doc.com/print?code=123",
  "additionalproperties": [
    {
      "key": "EXTID1",
      "value": "ExtensionValue",
      "type": "VARCHAR",
      "description": "Description"
    }],
  "errors": [
    {
      "errorCode": "ERR87896",
      "errorDesc": "Unknow Error"
     }]
}"

Output

Parameter NameData TypeDescription
statusStringRequest process status. Can be either
successfully or with error.
errorsListCollection of errors.
RestFdgError
Parameter NameData TypeDescription
errorCodeStringThis feld contains the error code.
errorDescStringThis feld contains the error
description.
JSON Structure:
"{
  "status": "E",
  "errors": [
      {
         "errorCode": "FDG_DOC_NOT_FOUND",
         "errorDesc": "Fiscal document with id 669854788524448800 not found."
      }]
}"

Table Impact

TABLESELECTINSERTUPDATEDELETE
SVC_FDG_DTLYesNoNoYes
SVC_FDG_DTL_PACKYesNoNoYes
SVC_FDG_ERRORYesYesNoYes
SVC_FDG_ETTYesNoNoYes
SVC_FDG_EXTYesYesNoYes
SVC_FDG_HDRYesNoYesYes
SVC_FDG_NON_MERCHYesNoNoYes
SVC_FDG_REFYesNoNoYes
SVC_FDG_TAXYesNoNoYes
SVC_FDG_TEXTYesNoNoYes
FDG_DTLNoYesNoNo
FDG_DTL_PACKNoYesNoNo
FDG_ERRORNoYesNoNo
FDG_ETTNoYesNoNo
FDG_EXTNoYesNoNo
FDG_HDRYesYesNoNo
TABLESELECTINSERTUPDATEDELETE
FDG_NON_MERCHNoYesNoNo
FDG_REFNoYesNoNo
FDG_TAXNoYesNoNo
FDG_TEXTNoYesNoNo
FDG_SYSTEM_OPTIONSNoNoNoNo

Fiscal Document Cancel Request Service

Functional Area

Finance

Business Overview

In both scenarios for shipment and Inbound, it will be the requestor´s option to cancel a fiscal document request. This process runs by calling the Document Cancel Request Service.

Requestor systems can request cancelation for a specific document. This request is consumed by Fiscal Document Generation and, depending on the current status of the document, different actions will take place including simply changing the status of the document to Canceled, or even the integration of the cancelation request to the 3rd-party system that communicates this request to local Governments. In this scenario, Fiscal Document Generation will expect the 3rd party to confirm the cancelation.

Service Type

Post

ReST URL

{{baseUrl}}/services/private/fdg/processDocCancel

Input

Parameter NameRequiredData TypeDescriptionValid
values
docIdYesStringThis column contains the
unique document ID.
requestActionYesStringThis feld contains the
current action for the
request. This action is to
third-party know the
action to perform with
this request.
A
(Approve)
orC
(Cancel).
additionalpropertie
s
NoListCollection of additional
properties.
commentsNoListCollection of comments.
RestFdgExt:
Parameter NameRequiredData TypeDescription
Valid values
keyNoStringKey value of the
additional property data.
valueNoStringValue of the additional
property data.
typeNoStringData type of the
additional property.
VARCHAR2,
NUMBERorDATE
descriptionNoStringDescription of additional
property data.
RestFdgText:
Parameter NameRequiredData TypeDescription
Valid
values
textYesStringThis feld contains additional
comments at item level. It is
used to provide any
additional information or
legal message important to
fscal document.
textGroupIdNoStringText group ID. It is used to
group related comments
when there is more than one
or when the size of a
message is bigger than the
size of the text feld and it is
necessary to generate more
than one line.
textGroupSeq
JSON Input Stru
No
cture:
StringSequence of the text for a
given group ID. It is used in
case comments information
has more than one line.
"{
"docId": "12
"requestActi
"additionalp
{
"key": "E
"value":
"type": "
}],
"comments":
[{
"text": "
}]
}"
345",
on": "C",
roperties"
XTID1",
"Extension
VARCHAR2"
additional
: [
Value",
text"

Output

Parameter NameData TypeDescription
processStatusStringThis column contains the status of
the document
errorsListCollection of errors.
RestFdgError
Parameter NameData TypeDescription
errorCodeStringThis feld contains the error code.
errorDescStringThis feld contains the error
description.
JSON Structure:
"{
   "status": "E",
   "errors": [
        {
            "errorCode": "FDG_DOC_NOT_FOUND",
            "errorDesc": "Fiscal document with id 12345 not found."
        }]
}"

Table Impact

TABLESELECTINSERTUPDATEDELETE
SVC_FDG_HDRNoNoYesNo
FDG_HDRYesNoYesNo
FDG_EXTNoYesNoNo
FDG_TEXTNoYesNoNo

Fiscal Document Detail Request Service

Functional Area

Finance

Business Overview

This web service is called by 3rd-party systems responsible for communicating fiscal document request to local Governments when they need to fetch data for a particular document. The response to this service will have the full payload of a fiscal document.

Service Type

Get

ReST URL

{{baseUrl}}/services/private/fdg/documentDetail?
docId=<string>&entityType=<string>&entityInternalType=<string>&entityCode=<str
ing>

Input Parameters

Parameter NameRequiredData TypeDescriptionValid
values
docIdNoStringInternal fscal document ID
generated by FDG. This ID is
unique to each fscal
document created.
entityTypeNoStringFilter criteria to fetch
documents for specifc
entity types in a fscal
document.
SHIPP,
DEST,CR,
VENDOR,
INV,LOC
entityInternalTypeNoStringFilter criteria to fetch
documents based on
specifc entity types in
Merchandising irrespective
of their role in the fscal
documents.
WH,ST,
SUPP,PTNR,
CUST
entityCodeNoStringFilter criteria to fetch
documents based on a
specifc entity code. This
feld contains the entity’s
Merchandising internal
code and must sent in
conjunction with
entityInternatTypetag.
For example, ID of store or
warehouse.

Output

Parameter NameData TypeDescription
requestIdStringInternal fscal document REQUEST ID
generated by FDG. This ID can be
used to identify the fscal
document(s) being processed.
requestSystemStringName of the system that performed
the request for a fscal document.
Parameter NameData TypeDescription
requestActionStringAction code to be passed along with
the request for a fscal document
process.
docIdBigDecimalInternal fscal document ID
generated by FDG. This ID is unique
to each fscal document created.
docNoStringOfcial fscal document number. This
number is given to approved
documents.
statusStringInternal FDG status of the fscal
document.
docTypeStringValid values:INV(Invoice),WBL
(eWaybill),NFe(Nota Fiscal
Eletronica).
docTypeCodeStringExtended description of a document
type.
extReqIdStringExternal system´s request ID used to
link FDG internal ID with the
requestor system´s transaction ID.
transactionTypeStringIdentifcation of the transaction
associated with the fscal document.
issueDateOffsetDateTimeIssue date of the fscal document.
Date defned at the time the
document is submitted for approval.
dueDatedatePayment date of fscal document or
invoice.
docLangStringLanguage of fscal document. It is
based on language defned in source
location.
printerIdStringPrinter ID that is designated to print
fscal document.
docPrintUrlStringURL of the fscal document report.
currencyCodeStringCurrency code for the fscal
document. It is based on currency
code defned in source location.
totalTaxAmtBigDecimalTotal TAX amount of the fscal
document. This feld is the sum of
totalTaxAmtof all items of the
document. Rounding applied based
on system option.
totalNonMerchTaxAmtBigDecimalTotal TAX amount of allowances/
charges of the fscal document.
Rounding applied based on system
option.
totalAmtInclTaxBigDecimalTotal value of fscal document
including taxes. This feld is the sum
oftotalAmtInclTaxof all items of
the document. Rounding applied
based on system option.
Parameter NameData TypeDescription
totalAmtExclTaxBigDecimalTotal value of fscal document
excluding taxes. This feld has the
totalAmtInclTaxminus
totalTaxAmt. Rounding applied
based on system option.
totalAllowanceBigDecimalTotal value of all allowances in fscal
document. This feld is the sum of
totalAllowanceof all items of the
document. Rounding applied based
on system option.
totalChargeBigDecimalTotal value of all charges in fscal
document. This feld is the sum of
totalChargeof all items of the
document. Rounding applied based
on system option.
totalRoundingBigDecimalThe rounding amount (positive or
negative) added to produce the line
extensiontotalAmt. This feld is the
sum oftotalRoundingof all items of
the document.
termsStringPayment terms used in this
transaction
deduceTaxStringFlag that indicates if taxes were
calculated by the system or informed
at the fscal document request.
createByStringUser ID that created the record.
createDatetimedateRecord creation date.
lastUpdateByStringUser ID that did last update of fscal
document.
lastUpdateDatetimedateDate of last update of fscal
document.
entitiesListCollection of entities.
detailsListCollection of item details
RestFdgEtt
Parameter NameData TypeDescription
entityTypeStringEntity type.
entityInternalPtnrTypeStringMerchandising partner type.
entityInternalTypeStringMerchandising entity type.
entityCodeStringInternal Merchandising code of the
entity. Ex. ID of store or warehouse
nameStringEntity name.
legalNameStringEntity’s legal name.
carrierVehicleRnStringCarrier vehicle´s registration
number.
carrierVehicleStateStringCarrier vehicle´s state.
Parameter NameData TypeDescription
carrierDriverNameStringCarrier driver´s name.
carrierDriverLnStringCarrier driver´s license number.
addressRestFdgEttAddrCollection of address details.
identifcationListCollection of Entity Identifcation
Additional Properties. Fiscal
Attributes will be send in this group.
RestFdgEttAddr
Parameter NameData TypeDescription
streetStringStreet name of the entity´s address.
additionalStreetNameStringExtension of street name of the entity
´s address.
complementStringAdditional information of entity´s
address, such as neighborhood,
county, etc.
cityStringCity name of entity´s address.
jurisdictionCodeStringJurisdiction code of entity´s address.
This can be legal code associated to
city, county or any other level.
postalCodeStringZip or postal code of entity´s
address.
countryStringCountry name of entity´s address.
telephoneStringTelephone number of the person
who is the contact point.
emailStringE-mail address of the person who is
the contact point.
stateStringState name of entity´s address.
contactNameStringContact name.
additionalpropertiesListCollection of address additional
properties.
RestFdgExt
Parameter NameData TypeDescription
keyStringThis column contains the key value
of the entity additional properties at
entity address level.
valueStringThis column contains the value of the
entity additional properties at entity
address level.
typeStringThis column contains the extension
type at entity address level.
descriptionStringDescription of additional property
data.
RestFdgExt (identification)
Parameter NameData TypeDescription
keyStringThis column contains the key value
of the entity additional properties at
entity address level.
valueStringThis column contains the value of the
entity additional properties at entity
address level.
typeStringThis column contains the extension
type at entity address level.
descriptionStringDescription of additional property
data.
referencesListCollection of references.
totaltaxesListCollection of taxes.
errorsListCollection of errors.
allowanceChargesList<RestFdgNonMerc
h>
Collection of allowance charges.
additionalpropertiesListCollection of additional properties.
commentsListCollection of comments.
RestFdgDtl
Parameter NameData TypeDescription
lineNolongSequential number of the item in
fscal document. This number is a
sequence starts with number one.
Any gap is not allowed.
ItemStringUnique code ID that identifes the
item.
itemDescStringLong description of the item.
itemShortDescStringShort description of the item.
totalAmtBigDecimalTotal amount for the item inclusive
of allowances and charges.
Calculation formula is
((unitAmt*qty) -totalAllowance+
totalCharge). Rounding applied
based on system option.
unitAmtBigDecimalItem unit amount. No rounding
applied.
uomStringUnit of measure used in item in the
fscal document.
qtyBigDecimalQuantity of item in the fscal
document.
totalTaxAmtBigDecimalTotal amount of taxes applied to the
item. This feld is sum of alltaxAmt
at tax level for this item. Rounding
applied based on system option.
Parameter NameData TypeDescription
totalAmtInclTaxBigDecimalTotal amount for item inclusive of
taxes. Calculation formula is
totalAmt+totalTaxAmt. Rounding
applied based on system option.
totalRoundingBigDecimalThe rounding amount (positive or
negative) added to produce the line
extensiontotalAmt. Calculation
formula ((unitAmt*qty) -
totalAllowance+totalCharge)-
totalAmt.
totalAllowanceBigDecimalTotal amount of all allowances at
item level. This feld is sum of all
allowances atallowanceCharges
level for this item. Rounding applied
based on system option.
totalChargeBigDecimalTotal amount of all charges at item
level. This feld is sum of all charges
atallowanceChargeslevel for this
item. Rounding applied based on
system option.
packIndStringPack indicator. Valid values:Y(this
item is a pack) orN(this item is not a
pack).
gtinStringGTIN number (Global Trade Item
Number) of item.
gtinTypeStringGTIN Type. Valid values:GTIN-8,
GTIN-12,GTIN-13,GTIN-14
vpnStringVendor Product Number (VPN)
associated with the item.
taxesListCollection of item taxes.
referencesListCollection of item references
allowanceChargesList<RestFdgNonMerc
h>
Collection of item allowance charges.
packdetailsListCollection of item pack details.
additionalpropertiesListCollection of item additional
properties.
commentsListCollection of item comments.
RestFdgTax
Parameter NameData TypeDescription
taxTypeStringTax type.
taxCodeStringTax identifcation code.
taxRateBigDecimalTax rate when tax type is set as
percentage.
taxAmtBigDecimalTotal tax amount for the tax code.
Rounding applied based on system
option.
Parameter NameData TypeDescription
unitTaxAmtBigDecimalTax amount per unit for the tax code.
taxBasisBigDecimalTax basis amount used to calculate
tax value based ontaxRatefeld.
Rounding applied based on system
option.
taxCodeDescStringTax code description. This feld can
be used to indicate extra code or
detailed information about tax code.
additionalpropertiesListCollection of taxes addition
properties.
commentsListCollection of taxes comments.
RestFdgText
Parameter NameData TypeDescription
textStringAdditional information and/or
comments. It is used to provide any
additional information or legal
message important to the fscal
document.
textGroupIdStringText group ID. It is used to group
related comments when there is more
than one or when the size of a
message is bigger than the size of the
text feld and it is necessary to
generate more than one line.
textGroupSeqStringSequence of the text for a given group
ID. It is used in case comments
information has more than one line.
RestFdgRef
Parameter NameData TypeDescription
refTypeStringType of the reference information. It
is used when there is any reference
that it is necessary to add in the fscal
document, as shipment number,
contract number, order, ID, and so
on.
Valid values are pre-defned in
Merchandising System.
refCodeStringReference code/value of reference
type.
RestFdgNonMerch
Parameter NameData TypeDescription
chargeIndStringCharge indicator.
Parameter NameData TypeDescription
nonMerchCodeStringNon-merchandise code that identifes
a non-merchandise cost used as a
charge or allowance.
nonMerchCodeDescStringNon-merchandise code description.
It is used to provide more detailed
about non-merchandise code, for
example: allowance details, types of
non-merchandise code such as
Freight, Insurance, etc.
nonMerchAmtBigDecimalNon-merchandise amount.
nonMerchTypeStringNon-merchandise type exclusive for
Charges.
taxesListCollection of taxes for non-
merchandise.
additionalpropertiesListCollection of additional properties
for non-merchandise.
commentsListCollection of comments for non-
merchandises.
packdetails
Parameter NameData TypeDescription
itemStringUnique alphanumeric ID of a pack
component that is part of item pack.
itemQtyBigDecimalQuantity of the component item that
is part of the pack.
itemDescStringDescription of the component item
component.
uomStringUnit of measure of the component
item.
totaltaxes
Parameter NameData TypeDescription
taxTypeStringNot applicable fortotalTaxes.
taxCodeStringTax identifcation code.
taxRateBigDecimalNot applicable fortotalTaxes.
taxAmtBigDecimalSum oftaxAmtfor all items for the
tax code. Rounding applied based on
system option
unitTaxAmtBigDecimalNot applicable fortotalTaxes.
taxBasisBigDecimalSum oftaxBasisfor all items for the
tax code. Rounding applied based on
system option.
taxCodeDescStringTax code description. This feld can
be used to indicate extra code or
detailed information about tax code.
JSON Structure:
"{
   "docId": 17200,
   "requestId": 17207,
   "requestSystem": "OMNI",
   "requestAction": "A",
   "status": "S",
   "docNo": "17200",
   "docType": "WBL",
   "docTypeCode": null,
   "extReqId": "10065007",
   "transactionType": "SALES",
   "issueDate": "2021-03-31T08:19:42-05:00",
   "dueDate": null,
   "printerId": null,
   "docPrintUrl": null,
   "currencyCode": "USD",
   "totalTaxAmt": null,
   "totalNonMerchTaxAmt": null,
   "totalAmtInclTax": null,
   "totalAmtExclTax": null,
   "totalAllowance": null,
   "totalCharge": null,
   "totalRounding": null,
   "terms": null,
   "docLang": "EN",
   "deduceTax": null,
   "createBy": "RMS_ADMIN",
   "createDatetime": "2021-06-16",
   "lastUpdateBy": "RFM01",
   "lastUpdateDatetime": "2021-06-16",
   "entities": [
      {
         "entityType": "SHIPP",
         "entityInternalType": "ST",
         "entityInternalPtnrType": null,
         "entityCode": "990011",
         "name": "QABR-Store Test Washington",
         "legalName": "QABR-Store Test Washington",
         "carrierVehicleRn": null,
         "carrierVehicleState": null,
         "carrierDriverName": null,
         "carrierDriverLn": null,
         "address": {
            "street": "R da Juta",
            "additionalStreetName": "1512",
            "complement": null,
            "city": "Washijngton",
            "jurisdictionCode": null,
            "postalCode": "03308070",
            "country": "US",
            "telephone": "2360873",
            "email": "washington.dias@oracle.com",
            "state": "DC",
            "contactName": "Washington Dias",
            "additionalproperties": []
         },
         "identification": []
      },
      {
         "entityType": "DEST",
         "entityInternalType": "CUST",
         "entityInternalPtnrType": null,
         "entityCode": "75",
         "name": "wdias losnisk",
         "legalName": "JADLOG",
         "carrierVehicleRn": null,
         "carrierVehicleState": null,
         "carrierDriverName": null,
         "carrierDriverLn": null,
         "address": {
            "street": "end10",
            "additionalStreetName": "end20",
            "complement": "end30",
            "city": "Washington",
            "jurisdictionCode": "3100104",
            "postalCode": "08573160",
            "country": "US",
            "telephone": null,
            "email": null,
            "state": "DC",
            "contactName": "wdias losnisk",
            "additionalproperties": []
         },
         "identification": []
      },
      {
         "entityType": "CR",
         "entityInternalType": "PTNR",
         "entityInternalPtnrType": "FF",
         "entityCode": "11",
         "name": "Carrier",
         "legalName": "Carrier",
         "carrierVehicleRn": "CJU0939",
         "carrierVehicleState": "São Paulo",
         "carrierDriverName": "Djalma da Carreta",
         "carrierDriverLn": "77799573959957",
         "address": {
            "street": "15333 JFK Blvd",
            "additionalStreetName": null,
            "complement": null,
            "city": "Houston",
            "jurisdictionCode": null,
            "postalCode": "77032",
            "country": "US",
            "telephone": null,
            "email": "juliano.costa@oracle.com",
            "state": "TX",
            "contactName": "Juliano Costa",
            "additionalproperties": [
               {
                  "key": "NIP",
                  "value": "NIP09",
                  "type": "VARCHAR2",
                  "description": "NIP"
               },
               {
                  "key": "POSTALCODE",
                  "value": "POST09",
                  "type": "VARCHAR2",
                  "description": "Postal Code"
               }
            ]
         },
         "identification": [
            {
               "key": "TAX_ID",
               "value": "332424324",
               "type": "VARCHAR2",
               "description": "TAX ID"
            }
         ]
      }],
   "details": [
      {
         "lineNo": 1,
         "item": "100900006",
         "itemDesc": "item regular scenario 3",
         "itemShortDesc": "regular item regular scenario 3",
         "totalAmt": null,
         "unitAmt": null,
         "uom": "EA",
         "qty": 5,
         "totalTaxAmt": null,
         "totalAmtInclTax": null,
         "packInd": "N",
         "gtin": null,
         "gtinType": "ITEM",
         "vpn": null,
         "totalRounding": null,
         "totalAllowance": null,
         "totalCharge": null,
         "taxes": [],
         "references": [],
         "allowanceCharges": [],
         "packdetails": [],
         "additionalproperties": [],
         "comments": []
      },
      {
         "lineNo": 2,
         "item": "100900065",
         "itemDesc": "itemm simple pack scenario 3",
         "itemShortDesc": "itemm simple pack scenario 3",
         "totalAmt": null,
         "unitAmt": null,
         "uom": "EA",
         "qty": 5,
         "totalTaxAmt": null,
         "totalAmtInclTax": null,
         "packInd": "Y",
         "gtin": null,
         "gtinType": "ITEM",
         "vpn": null,
         "totalRounding": null,
         "totalAllowance": null,
         "totalCharge": null,
         "taxes": [],
         "references": [],
         "allowanceCharges": [],
         "packdetails": [
            {
               "item": "100900057",
               "itemQty": 10,
               "itemDesc": "item componente de simple pack",
               "uom": "EA"
            }
         ],
         "additionalproperties": [],
         "comments": []
      }],
   "references": [
      {
         "refType": "CONO",
         "refCode": "000000000000000000000000000000000000000090115067"
      },
      {
         "refType": "CONO",
         "refCode": "000000000000000000000000000000000000000090115068"
      }],
   "totaltaxes": [],
   "errors": [],
   "allowanceCharges": [],
   "additionalproperties": [],
   "comments": [
      {
         "text": "Waybill payload Scenario 3",
         "textGroupId": null,
         "textGroupSeq": null
      },
      {
         "text": "Test Scenario predoc 3",
         "textGroupId": null,
         "textGroupSeq": null
      }]
}"

Table Impact

TABLESELECTINSERTUPDATEDELETE
SVC_FDG_DTLYesNoNoNo
SVC_FDG_DTL_PACKYesNoNoNo
SVC_FDG_ERRORYesNoNoNo
SVC_FDG_ETTYesNoNoNo
SVC_FDG_EXTYesNoNoNo
SVC_FDG_HDRYesNoYesNo
SVC_FDG_NON_MERCHYesNoNoNo
SVC_FDG_REFYesNoNoNo
SVC_FDG_TAXYesNoNoNo
SVC_FDG_TEXTYesNoNoNo
FDG_DTLYesNoNoNo
FDG_DTL_PACKYesNoNoNo
FDG_ERRORYesNoNoNo
FDG_ETTYesNoNoNo
FDG_EXTYesNoNoNo
FDG_HDRYesNoNoNo
FDG_NON_MERCHYesNoNoNo
FDG_REFYesNoNoNo
FDG_TAXYesNoNoNo
FDG_TEXTYesNoNoNo

Sales Audit Services

The following services are included in this functional area:

  • Data Privacy

    • Sales Audit Data Privacy Download Service

      • Get Personally Identifiable Information
    • Sales Audit Data Privacy Upload Service

      • Delete Personally Identifiable Information
  • Store Day Summary

    • Mobile Workflow Store Day Download Service

      • Get Aggregated Open Store Days

      • Get Open Store Day Counts

      • Get Open Store Day Details

      • Get Open Store Day Error Counts

      • Get Open Store Day Over/Short Amounts

      • Get Open Store Day Over/Short Counts

Get Open Store Days
  - Get Store Errors

  - Get Stores with Open Days
  • Transactions

    • Consignment Sales Transaction Update

  • Transaction Download Service

    • Get Rejected Transactions Since Previous Query
  • Transaction Upload Service

    • Load Transactions

Data Privacy

The following services are included in this functional area:

  • Sales Audit Data Privacy Download Service

    - Get Personally Identifiable Information
    
  • Sales Audit Data Privacy Upload Service

  • Delete Personally Identifiable Information

Sales Audit Data Privacy Download Service

The following services are included in this functional area:

  • Get Personally Identifiable Information

Get Personally Identifiable Information

The Get Personally Identifiable Information service is the same service used in the Merchandising solution. For Sales Audit, this service can be used to obtain personally identifiable information for the Customer and Employee entities For more details on this service, see the Data Privacy Download Service under Merchandising Services > Administration > Data Privacy.

Sales Audit Data Privacy Upload Service

The following services are included in this functional area:

  • Delete Personally Identifiable Information

Delete Personally Identifiable Information

The Delete Personally Identifiable Information service is the same service used in the Merchandising solution. For Sales Audit, this service can be used to delete personally identifiable information for the Customer and Employee entities. For more details on this service, see the Data Privacy Upload Service under Merchandising Services > Administration > Data Privacy.

Store Day Summary

The following services are included in this functional area:

  • Mobile Workflow Store Day Download Service

    • Get Aggregated Open Store Days

    • Get Open Store Day Counts

    • Get Open Store Day Details

    • Get Open Store Day Error Counts

    • Get Open Store Day Over/Short Amounts

    • Get Open Store Day Over/Short Counts

    • Get Open Store Days

    • Get Store Errors

    • Get Stores with Open Days

Mobile Workflow Store Day Download Service

The following services are included in this functional area:

  • Get Aggregated Open Store Days

  • Get Open Store Day Counts

  • Get Open Store Day Details

  • Get Open Store Day Error Counts

  • Get Open Store Day Over/Short Amounts

  • Get Open Store Day Over/Short Counts

  • Get Open Store Days

  • Get Store Errors

  • Get Stores with Open Days

Get Aggregated Open Store Days

Business Overview

Retrieves aggregated store day information for all dates or store days older than vdate -5.

Service Type

Get

ReST URL

/getStoreAggregations?

allOlderInd={allOlderInd}&stores={stores}&sortAttrib={sortAttrib}&sortDirection={sortDirection}& pageSize={pageSize}&pageNumber={pageNumber}

Input Parameters

Parameter Name Required Description Valid values allOlderInd Yes Search string for locations ALL , OLDER ID or Name

Parameter NameRequiredDescriptionValid values
storesNoComma-separated values
for stores
NA
sortAttribNoSort AttributeSTORENAME,AUDITOR,OSVALUE,
ERRORCNT,DATASTATUS,
OPENDAYS,OSDAYSandOSSUMS
sortDirectionNoSort DirectionASC,DESC
pageSizeNoMaximum number of
locations to retrieve per
page
NA
pageNumberNoResult page to retrieveNA
Output

Store Store Name Chain Chain Name Auditors Open Days Over Days Short Days Over Amount Short Amount Currency Code Error Count

Table Impact
TABLESELECTINSERTUPDATEDELETE
SA_ERRORYesNoNoNo
SA_HQ_VALUEYesNoNoNo
SA_POS_VALUEYesNoNoNo
SA_STORE_DATAYesNoNoNo
SA_STORE_DAYYesNoNoNo
SA_SYS_VALUEYesNoNoNo
V_CHAINYesNoNoNo
V_STOREYesNoNoNo

Get Open Store Day Counts

Business Overview

This service provides, at a glance, the number of open stores for which the sales audit manager is responsible. The stores for which the user is responsible are those associated with the user in Sales Audit’s employee maintenance via location traits.

Service Type

Get

ReST URL

/summaryOpenStoreDay

Input Parameters

No input.

Output

Record Type —DATE, OLDER, ALL

  • For record type DATE: five records of type date are displayed for today minus 1 through today minus 5

  • One record type OLDER: is for store days older than today minus 5

  • One record type ALL: for all store days

Record Date —Date of date type rows

Open Store Count

Table Impact
TABLESELECTINSERTUPDATEDELETE
LOC_TRAITS_MATRIXYesNoNoNo
SA_STORE_DAYYesNoNoNo
SA_USER_LOC_TRAITSYesNoNoNo

Get Open Store Day Details

Business Overview

The service displays a list of open stores to which the user is assigned, for a single day, for ‘OLDER’ days, or for ‘ALL’ days.

Service Type

Get

ReST URL
/getStoreDays?

store={store}&recordType={recordType}&recordDate={recordDate}&sortAttrib={sortAttrib}&sort Direction={sortDirection}&pageSize={pageSize}&pageNumber={pageNumber}

Input Parameters
Parameter NameRequiredDescriptionValid Values
recordTypeYesRecord TypeALL,OLDER,DATE
recordDateNoRecord Date, required when
recordType is DATE
NA
storeNoStore IDNA
sortAttribNoSort AttributeSTORENAME,AUDITOR,OSVALUE,
ERRORCNT,DATASTATUS,
OPENDAYS,OSDAYS, andOSSUMS
sortDirectionNoSort DirectionASC,DESC
pageSizeNoMaximum number of locations
to retrieve per page
NA
pageNumberNoResult page to retrieveNA
Output

Store Store Day Seq No Auditors Business Date Store Name Chain Chain Name Data Status Data Status Description Audit Status Audit Status Description Audit Changed Datetime Fuel Status Fuel Status Description Over Short Amount Currency Code Error Count Transaction Count

Loaded File Count

Expected File Count

Table Impact
TABLESELECTINSERTUPDATEDELETE
LOC_TRAITS_MATRIXYesNoNoNo
SA_ERRORYesNoNoNo
SA_HQ_VALUEYesNoNoNo
SA_POS_VALUEYesNoNoNo
SA_STORE_DATAYesNoNoNo
SA_STORE_DAYYesNoNoNo
SA_SYS_VALUEYesNoNoNo
SA_SYSTEM_OPTIONSYesNoNoNo
SA_TOTALYesNoNoNo
SA_TRAN_HEADYesNoNoNo
SA_USER_LOC_TRAITSYesNoNoNo
V_CHAINYesNoNoNo
V_CODE_DETAILYesNoNoNo
V_STOREYesNoNoNo

Get Open Store Day Error Counts

Business Overview

This service provides, at a glance, the number outstanding errors on the specified days for stores for which the sales audit manager is responsible. An outstanding error is defined as an error that exists against a store day that has not been overridden.

Service Type

Get

ReST URL

/summaryError

Input Parameters

No input.

Output

Record Type —DATE, OLDER, ALL

  • For record type DATE: five records of type date are displayed for today minus 1 through today minus 5

  • One record type OLDER: is for store days older than today minus 5

  • One record type ALL: for all store days

Record Date —Date of date type rows

Error Count

Table Impact
TABLESELECTINSERTUPDATEDELETE
LOC_TRAITS_MATRIXYesNoNoNo
SA_ERRORYesNoNoNo
SA_STORE_DAYYesNoNoNo
SA_USER_LOC_TRAITSYesNoNoNo

Get Open Store Day Over/Short Amounts

Business Overview

This service provides at a glance the sums of all overages and all shortages for all open stores on a given day for which the sales audit manager is responsible. If all locations to which the user is responsible have the same local currency, all monetary values will be displayed in the local currency. Otherwise, all monetary values will be displayed in the retailer’s primary currency. If the Over/Short value for the store day is a positive value it is considered an overage, if the Over/Short value for the store day is a negative value it is a shortage.

Service Type

Get

ReST URL

/summaryOverShortAmount

Input Parameters

No input.

Output

Record Type —DATE, OLDER, ALL

  • For record type DATE: Five records of type date are displayed for today minus 1 through today minus 5

  • One record type OLDER: is for store days older than today minus 5

  • One record type ALL: for all store days

Record Date —Date of date type rows

Over Amount

Short Amount

Currency Code

Table Impact
TABLESELECTINSERTUPDATEDELETE
LOC_TRAITS_MATRIXYesNoNoNo
MV_CURRENCY_CONVERSION_RATESYesNoNoNo
SA_HQ_VALUEYesNoNoNo
SA_POS_VALUEYesNoNoNo
SA_STORE_DAYYesNoNoNo
SA_SYS_VALUEYesNoNoNo
SA_TOTALYesNoNoNo
SA_USER_LOC_TRAITSYesNoNoNo
STOREYesNoNoNo

Get Open Store Day Over/Short Counts

Business Overview

This service provides, at a glance, the count of overages and the count of shortages for all open stores on a given day for which the sales audit manager is responsible. If the Over/Short value for the store day is a positive value it is considered an overage, if the Over/Short value for the store day is a negative value it is a shortage.

Service Type

Get

ReST URL

/summaryOverShortCount

Input Parameters

No input.

Output

Record Type —DATE, OLDER, ALL

  • For record type DATE: five records of type date are displayed for today minus 1 through today minus 5

  • One record type OLDER: is for store days older than today minus 5

  • One record type ALL: for all store days

Record Date —Date of date type rows

Over Count

Short Count

Table Impact
TABLESELECTINSERTUPDATEDELETE
LOC_TRAITS_MATRIXYesNoNoNo
SA_HQ_VALUEYesNoNoNo
SA_POS_VALUEYesNoNoNo
SA_STORE_DAYYesNoNoNo
SA_SYS_VALUEYesNoNoNo
SA_TOTALYesNoNoNo
SA_USER_LOC_TRAITSYesNoNoNo
STOREYesNoNoNo

Get Open Store Days

Business Overview

This web service allows the user to find which store days have records that needs attention.

Service Type

Get

ReST URL

/getStoreDateInd?store={store}

Input Parameters
Parameter NameRequiredDescriptionValid values
storeYesStore IDNA
Output

Record Type —DATE, OLDER, ALL

  • For record type DATE: five records of type date are displayed for today minus 1 through today minus 5

  • One record type OLDER: is for store days older than today minus 5

  • One record type ALL: for all store days

Record Date —Date of date type rows

Store Has Value indicator

Table Impact
TABLESELECTINSERTUPDATEDELETE
SA_STORE_DAYYesNoNoNo
V_STOREYesNoNoNo

Get Store Errors

Business Overview

Retrieves summary of store day errors.

Service Type

Get

ReST URL

/getStoreErrors?store={store}&recordType={recordType}&recordDate={recordDate}

Input Parameters
Parameter NameRequiredDescriptionValid values
recordTypeYesRecord TypeALL,OLDER,DATE
recordDateNoRecord Date, required whenNA
recordTypeisDATE
storeNoStore IDNA
Output

Store

Error Code

Error Description

Error Percentage

Table Impact
TABLESELECTINSERTUPDATEDELETE
SA_ERRORYesNoNoNo
SA_STORE_DAYYesNoNoNo
V_SA_ERRORYesNoNoNo
V_STOREYesNoNoNo

Get Stores with Open Days

Business Overview

This web service enables store search and returns aggregated store information.

Service Type

Get

ReST URL
/storeSearch?

searchString={searchString}&searchFilter={searchFilter}&sortAttrib={sortAttrib}&sortDirection={ sortDirection}&pageSize={pageSize}&pageNumber={pageNumber}

Input Parameters
Parameter NameRequiredDescriptionValid values
searchStringYesSearch string for locations ID
or Name
NA
searchFilterYesSearch all stores or assigned
stores
ALL,ASSIGN
sortAttribNoSort AttributeSTORENAME,AUDITOR,OSVALUE,
ERRORCNT,DATASTATUS,
OPENDAYS,OSDAYS, andOSSUMS
sortDirectionNoSort DirectionASC,DESC
pageSizeNoMaximum number of locations
to retrieve per page
NA
pageNumberNoResult page to retrieveNA
Output

Store Store Name Chain Chain Name Auditors Open Days Over Days Short Days Over Amount Short Amount Currency Code Error Count

Table Impact
TABLESELECTINSERTUPDATEDELETE
LOC_TRAITS_MATRIXYesNoNoNo
SA_ERRORYesNoNoNo
SA_HQ_VALUEYesNoNoNo
SA_POS_VALUEYesNoNoNo
TABLESELECTINSERTUPDATEDELETE
SA_STORE_DATAYesNoNoNo
SA_STORE_DAYYesNoNoNo
SA_SYS_VALUEYesNoNoNo
SA_TOTALYesNoNoNo
SA_TRAN_HEADYesNoNoNo
SA_USER_LOC_TRAITSYesNoNoNo
V_CHAINYesNoNoNo
V_STOREYesNoNoNo

Transactions

The following services are included in this functional area:

  • Consignment Sales Transaction Update

  • Transaction Download Service

    • Get Rejected Transactions Since Previous Query
  • Transaction Upload Service

    • Load Transactions

Consignment Sales Transaction Update

Functional Area

Financial

Business Overview

The service provides the ability to accept or provide Adjusted values of Consignment Rate and Consignment unit cost for consignment items staged for Rate Review.

Service Type

POST

ReST URL

Resa/consignmentSalesTransactionUpdate

Input Payload Details

Table 5-1317 Update - Object. See list of elements for detail

Element NameRequiredData TypeDescription
collectionSizeYesNumber (4)Number of items in the collection. The
maximum number of the items
allowed in a collection is 9999.
consignmentSalesYesCollection of
Object
References a collection of Store, Day,
Store Day sequence number, Tran
sequence number, Item sequence
number.

Table 5-1318 ConsignmentSales - Object. See list of elements for detail

Element NameRequiredData TypeDescription
storeYesNumber (10)The store number to which this
transaction belongs.
dayYesNumber (3)Day number on the transaction.
storeDaySeqNoYesNumber (20)This unique identifer for a store/day
combination.
tranSeqNoYesNumber (20)The sales audit system’s transaction
identifer.
itemSeqNoYesNumber (4)Sequence number of item within a
transaction.
itemStatusNoString (6)The status of the item. Valid values are
’S’ALE, ‘R’ETURN, ‘ORD’, ‘LCO’
itemTypeNoString (6)The type of the item. Valid values are
ITEM, NMITEM and REF.
itemNoString (25)Unique identifer for the item.
refItemNoString (25)Contains a reference item to the item
feld.
nonMerchItemNoString (25)Contains a non-merchandise item.
reviewedWithNoUpdatesYesString (1)The review indicator allows for
accepting the existing rate/cost detail
without any updates when set to Y.
Valid values are Y and N.
adjustedConsignmentRateNoNumber
(12,4)
This column holds the preferred
adjusted consignment rate.
adjustedConsignmentUnitCo
st
NoNumber
(20,4)
This column holds the preferred
adjusted consignment unit cost.

Table 5-1319 UpdateError - Object. See list of elements for detail

Element NameRequiredData Type
Description
consignmentSalesErrorYesCollection of
Object

Table 5-1320 ConsignmentSalesError - Object. See list of elements for detail

Element Name
Required
Data TypeDescription
store
Yes
Number (10)The store number to which this
transaction belongs.
day
Yes
Number (3)
Day number on the transaction.
storeDaySeqNo
Yes
Number (20)This unique identifer for a store/day
combination.
tranSeqNo
Yes
Number (20)The sales audit system’s transaction
identifer.
itemSeqNo
Yes
Number (4)Sequence number of item within a
transaction.
errorMessages
Yes
Array of
String
List of errors.
Sample Input Message
{
"collectionSize": 1000,
"consignmentSales": [
{
"store": 1521,
"day": 15,
"storeDaySeqNo": 29000201,
"tranSeqNo": 102308,
"itemSeqNo": 1000,
"itemStatus": "S",
"itemType": "ITEM",
"item": "102350079",
"refItem": "1234560000081",
"nonMerchItem": "445101",
"reviewedWithNoUpdates": "N",
"adjustedConsignmentRate": 60,
"adjustedConsignmentUnitCost":
}
]
}
20.2131

Response Code: 200 (Success)

Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors is present when input the payload or input parameters are not as per the schema definition of this service. The element businessError will be present if the payload passes schema validation but an exception is caught while processing business logic.

Table 5-1321 UpdateError - Object. See list of elements for detail

Element NameRequiredData TypeDescription
consignmentSalesErrorYesCollection of
Object

Table 5-1322 ConsignmentSalesError - Object. See list of elements for detail

Element Name
Required
Data TypeDescription
store
Yes
Number (10)The store number to which this
transaction belongs.
day
Yes
Number (3)
Day number on the transaction.
storeDaySeqNo
Yes
Number (20)This unique identifer for a store/day
combination.
tranSeqNo
Yes
Number (20)The sales audit system’s transaction
identifer.
itemSeqNo
Yes
Number (4)Sequence number of item within a
transaction.
errorMessages
Yes
Array of
String
List of errors.
Sample Error Message
{
"status": "ERROR",
"message": "Error found in valida
"validationErrors": [
tion of input payload",
{
"error": "must be one of Y, N
"field": "createRecord.arg0.a
"inputValue": "X"
}
],
"businessError": [
",
pproveInd",
{
"consignmentSalesError": [
{
"store": 109770,
"day": 100,
"storeDaySeqNo": 293567,
"tranSeqNo": 102308,
"itemSeqNo": 1000,
"errorMessages": [
"String"
]
}
]
}
]
}

Transaction Download Service

The following services are included in this functional area:

  • Get Rejected Transactions Since Previous Query

Get Rejected Transactions Since Previous Query

Functional Area

Financial

Business Overview

The purpose of this service is to return transactions that were rejected during processing to the calling process or application, for use in troubleshooting and error resolution.

Sales Service

This services fetches and returns transactions from the staging table SVC_RTLOG_DATA_REJECT that meet the input criteria. Transactions failing validations in the sacreatertlog.ksh process are inserted into this staging table during processing.

Service Type

Put

ReST URL

Resa/getRejectedTransactions

Input Parameters

Table 5-1323 SvcprovRejectedRecRDO
Parameter NameData Type
pageSizeNumber
pageNumberNumber
readUnreadErrorIndString
startDateString (Format :YYYYMMDD)
endDateString (Format :YYYYMMDD)
svcprovRejStoreRDOsList
svcprovRejErrorcodeRDOsList
svcprovRejTransactionidRDOsList

Table 5-1324 SvcprovRejStoreRecRDO

Parameter NameData Type
storeString

Table 5-1325 SvcprovRejErrorcodeRecRDO

Parameter NameData Type
errorCodeString

Table 5-1326 SvcprovRejTransactionidRecRDO

Parameter NameData Type
transactionIdString
JSON Input Structure:
[
  {
    "pageSize": null,
    "pageNumber": null,
    "readUnreadErrorInd": null,
    "startDate": null,
    "endDate": null,
    "svcprovRejStoreRDOs": [
      {
        "store": null
      }
    ],
    "svcprovRejErrorcodeRDOs": [
      {
        "errorCode": null
      }
    ],
    "svcprovRejTransactionidRDOs": [
      {
        "transactionId": null
      }
    ]
  }
]

Output

totalRecordCountNumber
Parameter NameData Type
resultsTable of SVCPROV_REJ_THEAD_REC

Table 5-1327 SVCPROV_REJ_THEAD_REC

Parameter NameData Type
StoreNumber
businessDateDate

Table 5-1327 (Cont.) SVCPROV_REJ_THEAD_REC

Parameter NameData Type
errorCodeString
errorDescString
recTypeString
registerString
transactionDateDate
transactionNoNumber
cashierString
salespersonString
transactionTypeString
subTransactionTypeString
origSalesNoNumber
origRegNoString
reasonCodeString
vendorNoString
vendorInvcNoString
paymentRefNoString
prfDlvyNoString
refNo1String
refNo2String
refNo3String
refNo4String
valueBigDecimal
bannerIdString
roundedAmtBigDecimal
roundedOffAmtBigDecimal
creditPromoIdString
refNo25String
refNo26String
refNo27String
tranProcessSysString
refNo28String
refNo29String
refNo30String
refNo31String
salesThattTblList
salesTcustTblList< SvcprovSalesTcustRecRDO>
salesCattTblList< SvcprovSalesAttrRecRDO>
salesTitemTblList< SvcprovSalesTitemRecRDO>
salesTtaxTblList< SvcprovSalesTtaxRecRDO>

Table 5-1327 (Cont.) SVCPROV_REJ_THEAD_REC

Parameter NameData Type
salesTpymtTblList< SvcprovSalesTpymtRecRDO>
salesTtendTblList
salesTtailTblList

Table 5-1328 SvcprovSalesAttrRecRDO

Parameter NameData Type
recTypeString
attributeTypeString
attributeValueString

Table 5-1329 SvcprovSalesTcustRecRDO

Parameter NameData Type
recTypeString
customerIdString
customerTypeString
customerNameString
address1String
address2String
cityString
stateString
zipCodeString
countryString
homePhoneString
workPhoneString
emailString
birthdateDate

Table 5-1330 SvcprovSalesTitemRecRDO

Parameter NameData Type
recTypeString
itemStatusString
itemTypeString
itemNoTypeString
formatIdString
itemString
refItemString

Table 5-1330 (Cont.) SvcprovSalesTitemRecRDO

Parameter NameData Type
nonMerchItemString
voucherNoString
quantityString
sellingUomString
unitRetailBigDecimal
overrideReasonString
originalUnitRetailBigDecimal
taxableIndicatorString
pumpString
refNo5String
refNo6String
refNo7String
refNo8String
itemSwipedIndString
returnReasonCodeString
salespersonString
expirationDateDate
dropShipIndString
uomQtyBigDecimal
catchWeightIndString
sellingItemString
custOrdLineNoNumber
mediaIdNumber
totalIgtaxAmountBigDecimal
uniqueIdString
custOrdNoString
custOrdDate
Date
fulfllmentOrdNoString
noInventoryReturnString
salesTypeString
returnWhNumber
returnDepositionString
originalStoreNumber
originalTransactionNoNumber
fulfllmentLocTypeString
fulfllmentLocNumber
postingStoreString
salesItattTblList
salesIdiscTblList

Table 5-1330 (Cont.) SvcprovSalesTitemRecRDO

Parameter NameData Type
salesIgtaxTblList

Table 5-1331 SvcprovSalesIdiscRecRDO

Parameter NameData Type
recTypeString
merchPromoNoString
discountRefNoString
discountTypeString
couponNoString
couponRefNoString
quantityBigDecimal
unitDiscountAmountBigDecimal
refNo13String
refNo14String
refNo15String
refNo16String
uomQtyBigDecimal
catchWeightIndString
promoComponentNumber
salesTdattTblList

Table 5-1332 SvcprovSalesIgtaxRecRDO

Parameter NameData Type
recTypeString
taxAuthorityString
igtaxCodeString
igtaxRateBigDecimal
igtaxAmountBigDecimal
refNo21String
refNo22String
refNo23String
refNo24String
salesIxattTblList

Table 5-1333 SvcprovSalesTtaxRecRDO

Parameter NameData Type
recTypeString
taxCodeString
taxAmountBigDecimal
refNo17String
refNo18String
refNo19String
refNo20String
transactionTaxAttributeTblList

Table 5-1334 SvcprovSalesTpymtRecRDO

Parameter NameData Type
recTypeString
paymentAmountBigDecimal

Table 5-1335 SvcprovSalesTtendRecRDO

Parameter NameData Type
recTypeString
tendTypeGroupString
tendTypeIdNumber
tenderAmountBigDecimal
ccNoString
ccAuthNoString
ccAuthSourceString
ccCardholderVerifcationString
ccExpirationDateDate
ccEntryModeString
ccTerminalIdString
ccSpecialConditionString
ccTokenString
voucherNoString
couponNbrString
couponRefNoString
chequeAccNoString
chequeNoNumber
identifcationMethodString
identifcationIdString
originalCurrencyString

Table 5-1335 (Cont.) SvcprovSalesTtendRecRDO

Parameter NameData Type
originalCurrencyAmountBigDecimal
refNbr9String
refNbr10String
refNbr11String
refNbr12String
transactionTenderAttributeTblList

Table 5-1336 SvcprovSalesCounterRecRDO

Parameter NameData Type
recTypeString
recCounterNumber

The output will contain the status of the request including validation errors, if any.

JSON Structure:
{
  "totalRecordCount": null,
  "results": [
    {
      "store": null,
      "businessDateDisplay": null,
      "businessDate": null,
      "errorCode": null,
      "errorDesc": null,
      "recType": "THEAD",
      "register": null,
      "transactionDateDisplay": null,
      "transactionDate": null,
      "transactionNo": null,
      "cashier": null,
      "salesperson": null,
      "transactionType": null,
      "subTransactionType": null,
      "origSalesNo": null,
      "origRegNo": null,
      "reasonCode": null,
      "vendorNo": null,
      "vendorInvcNo": null,
      "paymentRefNo": null,
      "prfDlvyNo": null,
      "refNo1": null,
      "refNo2": null,
      "refNo3": null,
      "refNo4": null,
      "value": null,
      "bannerId": null,
      "roundedAmt": null,
      "roundedOffAmt": null,
      "creditPromoId": null,
      "refNo25": null,
      "refNo26": null,
      "refNo27": null,
      "tranProcessSys": null,
      "refNo28": null,
      "refNo29": null,
      "refNo30": null,
      "refNo31": null,
      "salesThattTbl": [
        {
          "recType": "THATT",
          "attributeType": null,
          "attributeValue": null
}
      ],
      "salesTcustTbl": [
        {
          "recType": "TCUST",
          "customerId": null,
          "customerType": null,
          "customerName": null,
          "address1": null,
          "address2": null,
          "city": null,
          "state": null,
          "zipCode": null,
          "country": null,
          "homePhone": null,
          "workPhone": null,
          "email": null,
          "birthdateDisplay": null,
          "birthdate": null
        },
        {
          "recType": "TCUST",
          "customerId": null,
          "customerType": null,
          "customerName": null,
          "address1": null,
          "address2": null,
          "city": null,
          "state": null,
          "zipCode": null,
          "country": null,
          "homePhone": null,
          "workPhone": null,
          "email": null,
          "birthdateDisplay": null,
          "birthdate": null
        }
      ],
      "salesCattTbl": [
        {
          "recType": "CATT",
          "attributeType": null,
          "attributeValue": null
        }
      ],
      "salesTitemTbl": [
        {
          "recType": "TITEM",
          "itemStatus": null,
          "itemType": null,
          "itemNoType": null,
          "formatId": null,
          "item": null,
          "refItem": null,
          "nonMerchItem": null,
          "voucherNo": null,
          "quantity": null,
          "sellingUom": null,
          "unitRetail": null,
          "overrideReason": null,
          "originalUnitRetail": null,
          "taxableIndicator": "Y",
          "pump": null,
          "refNo5": null,
          "refNo6": null,
          "refNo7": null,
          "refNo8": null,
          "itemSwipedInd": null,
          "returnReasonCode": null,
          "salesperson": null,
          "expirationDate": null,
          "dropShipInd": null,
          "uomQty": null,
          "catchWeightInd": null,
          "sellingItem": null,
          "custOrdLineNo": null,
          "mediaId": null,
          "totalIgtaxAmount": null,
          "uniqueId": null,
          "custOrdNo": null,
          "custOrdDateDisplay": null,
          "custOrdDate": null,
          "fulfillmentOrdNo": null,
          "noInventoryReturn": null,
          "salesType": null,
          "returnWh": null,
          "returnDeposition": null,
          "originalStore": null,
          "originalTransactionNo": null,
          "fulfillmentLocType": null,
          "fulfillmentLoc": null,
          "postingStore": null,
          "salesItattTbl": [
            {
              "recType": "ITATT",
              "attributeType": null,
              "attributeValue": null
            },
            {
              "recType": "ITATT",
              "attributeType": null,
              "attributeValue": null
            }
          ],
          "salesIdiscTbl": [
            {
              "recType": "IDISC",
              "merchPromoNo": null,
              "discountRefNo": null,
              "discountType": null,
              "couponNo": null,
              "couponRefNo": null,
              "quantity": null,
              "unitDiscountAmount": null,
              "refNo13": null,
              "refNo14": null,
              "refNo15": null,
              "refNo16": null,
              "uomQty": null,
              "catchWeightInd": null,
              "promoComponent": null,
              "salesTdattTbl":
            }
          ],
          "salesIgtaxTbl": [
            {
              "recType": "IGTAX",
              "taxAuthority": null,
              "igtaxCode": null,
              "igtaxRate": null,
              "igtaxAmount": null,
              "refNo21": null,
              "refNo22": null,
              "refNo23": null,
              "refNo24": null,
              "salesIxattTbl": [
                {
                  "recType": "IXATT",
                  "attributeType": null,
                  "attributeValue": null
                }
              ]
            }
}
      ],
      "salesTtaxTbl": [
        {
          "recType": "TTAX",
          "taxCode": null,
          "taxAmount": null,
          "refNo17": null,
          "refNo18": null,
          "refNo19": null,
          "refNo20": null,
          "salesTxattTbl": [
            {
              "recType": "TXATT",
              "attributeType": null,
              "attributeValue": null
            }
      ],
      "salesTpymtTbl": [
        {
          "recType": "TPYMT",
          "paymentAmount": null
        }
      ],
      "salesTtendTbl": [
        {
          "recType": "TTEND",
          "tendTypeGroup": null,
          "tendTypeId": null,
          "tenderAmount": null,
          "ccNo": null,
          "ccAuthNo": null,
          "ccAuthSource": null,
          "ccCardholderVerification": null,
          "ccExpirationDateDisplay": null,
          "ccExpirationDate": null,
          "ccEntryMode": null,
          "ccTerminalId": null,
          "ccSpecialCondition": null,
          "ccToken": null,
          "voucherNo": null,
          "couponNbr": null,
          "couponRefNo": null,
          "chequeAccNo": null,
          "chequeNo": null,
          "identificationMethod": null,
          "identificationId": null,
          "originalCurrency": null,
          "originalCurrencyAmount": null,
          "refNbr9": null,
          "refNbr10": null,
          "refNbr11": null,
          "refNbr12": null,
          "salesTtattTbl": [
            {
              "recType": "TTATT",
              "attributeType": null,
              "attributeValue": null
            }
          ]
        }
      ],
      "salesTtailTbl": []
    }
  ]
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
SVC_RTLOG_DATA_REJECTYesNoYesNo

Transaction Upload Service

The following services are included in this functional area:

  • Load Transactions

Load Transactions

Functional Area
Financial
Business Overview

This service accepts transactions from a Point of Sale (POS) or Order Management Solution (OMS) into Sales Audit. This service provides an alternative to transactions processed from an RTLOG file through the Sales Audit sales process documented under the Scheduled Integration section.

This service accepts transactions from a POS or OMS system in a JSON format and loads them into the staging table SVC_RTLOG_DATA_LOAD for further processing. This service performs minimal data validation as the majority of the sales data validation remains in the Sales Audit import process. The transactions staged through this service are extracted into the RTLOG format by the sacreatertlog.ksh process and processed by the saimptlog process.

In addition, this service supports a near-real-time update of inventory impacted by sales transactions by recording sales units in the SA_INPROGRESS_SALES table. The units record in this table for an item/location can be netted out of stock-on-hand for a more accurate, real-time view of available inventory. When these sales are processed completely through auditing, the in-progress units will be negated.

Service Type
Post
ReST URL
Resa/salesService
Input Parameters

Table 5-1337 SvcprovSalesServiceRecRDO

Parameter NameData Type
recTypeString
fleCreateDateString (Format :YYYYMMDDHHMMSS)
businessDateString(Format:YYYYMMDD)
storeNumber
referenceNbrString
rtlogOrgSysString
transactionHeadTblList
salesFtailTblList

Table 5-1338 SvcprovSalesTheadRecRDO

Parameter NameData Type
recTypeString
registerString
transactionDateString (Format :YYYYMMDDHHMMSS)
transactionNoNumber
cashierString
salespersonString
transactionTypeString
subTransactionTypeString
origSalesNoNumber
origRegNoString
reasonCodeString
vendorNoString
vendorInvcNoString
paymentRefNoString
prfDlvyNoString
refNo1String
refNo2String
refNo3String
refNo4String
valueBigDecimal
bannerIdString
roundedAmtBigDecimal
roundedOffAmtBigDecimal
creditPromoIdString
refNo25String

Table 5-1338 (Cont.) SvcprovSalesTheadRecRDO

Parameter NameData Type
refNo26String
refNo27String
tranProcessSysString
refNo28String
refNo29String
refNo30String
refNo31String
transactionHeadAttributeTbl
List
transactionCustomerTblList< SvcprovSalesTcustRecRDO>
customerAttributeTblList< SvcprovSalesAttrRecRDO>
transactionItemTblList< SvcprovSalesTitemRecRDO>
transactionTaxTblList< SvcprovSalesTtaxRecRDO>
transactionPaymentTblList< SvcprovSalesTpymtRecRDO>
transactionTenderTblList
transactionTrailerTblList

Table 5-1339 SvcprovSalesAttrRecRDO

Parameter NameData Type
recTypeString
attributeTypeString
attributeValueString

Table 5-1340 SvcprovSalesTcustRecRDO

Parameter NameData Type
recTypeString
customerIdString
customerTypeString
customerNameString
address1String
address2String
cityString
stateString
zipCodeString
countryString
homePhoneString
workPhoneString

Table 5-1340 (Cont.) SvcprovSalesTcustRecRDO

Parameter NameData Type
emailString
birthdateString (Format:YYYYMMDD)

Table 5-1341 SvcprovSalesTitemRecRDO

Parameter NameData Type
recTypeString
itemStatusString
itemTypeString
itemNoTypeString
formatIdString
itemString
refItemString
nonMerchItemString
voucherNoString
quantityString
sellingUomString
unitRetailBigDecimal
overrideReasonString
originalUnitRetailBigDecimal
taxableIndicatorString
pumpString
refNo5String
refNo6String
refNo7String
refNo8String
itemSwipedIndString
returnReasonCodeString
salespersonString
expirationDateString(Format:YYYYMMDD)
dropShipIndString
uomQtyBigDecimal
catchWeightIndString
sellingItemString
custOrdLineNoNumber
mediaIdNumber
totalIgtaxAmountBigDecimal
uniqueIdString
custOrdNoString

Table 5-1341 (Cont.) SvcprovSalesTitemRecRDO

Parameter NameData Type
custOrdDateString(Format:YYYYMMDDHHMMSS)
fulfllmentOrdNoString
noInventoryReturnString
salesTypeString
returnWhNumber
returnDepositionString
originalStoreNumber
originalTransactionNoNumber
fulfllmentLocTypeString
fulfllmentLocNumber
postingStoreString
transactionItemAttributeTblList
transactionItemDiscountTblList
transactionItemTaxTblList
consignmentRateBigDecimal
consignmentUnitCostBigDecimal
inventoryIdentiferTypeString
inventoryIdString

Table 5-1342 SvcprovSalesIdiscRecRDO

Parameter NameData Type
recTypeString
merchPromoNoString
discountRefNoString
discountTypeString
couponNoString
couponRefNoString
quantityBigDecimal
unitDiscountAmountBigDecimal
refNo13String
refNo14String
refNo15String
refNo16String
uomQtyBigDecimal
catchWeightIndString
promoComponentNumber
transactionItemDiscountAtrributeTblList

Table 5-1343 SvcprovSalesIgtaxRecRDO

Parameter NameData Type
recTypeString
taxAuthorityString
igtaxCodeString
igtaxRateBigDecimal
igtaxAmountBigDecimal
refNo21String
refNo22String
refNo23String
refNo24String
transactionItemTaxAttributeTblList

Table 5-1344 SvcprovSalesTtaxRecRDO

Parameter NameData Type
recTypeString
taxCodeString
taxAmountBigDecimal
refNo17String
refNo18String
refNo19String
refNo20String
transactionTaxAttributeTblList

Table 5-1345 SvcprovSalesTpymtRecRDO

Parameter NameData Type
recTypeString
paymentAmountBigDecimal

Table 5-1346 SvcprovSalesTtendRecRDO

Parameter NameData Type
recTypeString
tendTypeGroupString
tendTypeIdNumber
tenderAmountBigDecimal
ccNoString
ccAuthNoString
ccAuthSourceString

Table 5-1346 (Cont.) SvcprovSalesTtendRecRDO

Parameter NameData Type
ccCardholderVerifcationString
ccExpirationDateString(Format:YYYYMMDD)
ccEntryModeString
ccTerminalIdString
ccSpecialConditionString
ccTokenString
voucherNoString
couponNbrString
couponRefNoString
chequeAccNoString
chequeNoNumber
identifcationMethodString
identifcationIdString
originalCurrencyString
originalCurrencyAmountBigDecimal
refNbr9String
refNbr10String
refNbr11String
refNbr12String
transactionTenderAttributeTblList

Table 5-1347 SvcprovSalesCounterRecRDO

Parameter NameData Type
recTypeString
recCounterNumber
JSON Structure:
[
  {
    "recType": null,
    "fileCreateDate": null,
    "businessDate": null,
    "store": null,
    "referenceNbr": null,
    "rtlogOrgSys": null,
    "transactionHeadTbl": [
      {
        "recType": null,
        "register": null,
        "transactionDate": null,
        "transactionNo": null,
        "cashier": null,
        "salesperson": null,
        "transactionType": null,
        "subTransactionType": null,
        "origSalesNo": null,
        "origRegNo": null,
        "reasonCode": null,
        "vendorNo": null,
        "vendorInvcNo": null,
        "paymentRefNo": null,
        "prfDlvyNo": null,
        "refNo1": null,
        "refNo2": null,
        "refNo3": null,
        "refNo4": null,
        "value": null,
        "bannerId": null,
        "roundedAmt": null,
        "roundedOffAmt": null,
        "creditPromoId": null,
        "refNo25": null,
        "refNo26": null,
        "refNo27": null,
        "tranProcessSys": null,
        "refNo28": null,
        "refNo29": null,
        "refNo3null": null,
        "refNo31": null,
        "transactionHeadAttributeTbl": [
          {
            "recType": null,
            "attributeType": null,
            "attributeValue": null
          }
        ],
        "transactionCustomerTbl": [
          {
            "recType": null,
            "customerId": null,
            "customerType": null,
            "customerName": null,
            "address1": null,
            "address2": null,
            "city": null,
            "state": null,
            "zipCode": null,
            "country": null,
            "homePhone": null,
            "workPhone": null,
            "email": null,
            "birthdate": null
          }
        ],
        "customerAttributeTbl": [
          {
            "recType": null,
            "attributeType": null,
            "attributeValue": null
          }
        ],
        "transactionItemTbl": [
          {
            "recType": null,
            "itemStatus": null,
            "itemType": null,
            "itemNoType": null,
            "formatId": null,
            "item": null,
            "refItem": null,
            "nonMerchItem": null,
            "voucherNo": null,
            "quantity": null,
            "sellingUom": null,
            "unitRetail": null,
            "overrideReason": null,
            "originalUnitRetail": null,
            "taxableIndicator": null,
            "pump": null,
            "refNo5": null,
            "refNo6": null,
            "refNo7": null,
            "refNo8": null,
            "itemSwipedInd": null,
            "returnReasonCode": null,
            "salesperson": null,
            "expirationDate": null,
            "dropShipInd": null,
            "uomQty": null,
            "catchWeightInd": null,
            "sellingItem": null,
            "custOrdLineNo": null,
            "mediaId": null,
            "totalIgtaxAmount": null,
            "uniqueId": null,
            "custOrdNo": null,
            "custOrdDate": null,
            "fulfillmentOrdNo": null,
            "noInventoryReturn": null,
            "salesType": null,
            "returnWh": null,
            "returnDeposition": null,
            "originalStore": null,
            "originalTransactionNo": null,
            "fulfillmentLocType": null,
            "fulfillmentLoc": null,
            "postingStore": null,
            "transactionItemAttributeTbl": [
              {
                "recType": null,
                "attributeType": null,
                "attributeValue": null
              }
            ],
            "transactionItemDiscountTbl": [
              {
                "recType": null,
                "merchPromoNo": null,
                "discountRefNo": null,
                "discountType": null,
                "couponNo": null,
                "couponRefNo": null,
                "quantity": null,
                "unitDiscountAmount": null,
                "refNo13": null,
                "refNo14": null,
                "refNo15": null,
                "refNo16": null,
                "uomQty": null,
                "catchWeightInd": null,
                "promoComponent": null,
                "transactionItemDiscountAtrributeTbl": [
                  {
                    "recType": null,
                    "attributeType": null,
                    "attributeValue": null
                  }
                ]
              }
            ],
            "transactionItemTaxTbl": [
              {
                "recType": null,
                "taxAuthority": null,
                "igtaxCode": null,
                "igtaxRate": null,
                "igtaxAmount": null,
                "refNo21": null,
                "refNo22": null,
                "refNo23": null,
                "refNo24": null,
                "transactionItemTaxAttributeTbl": [
                  {
                    "recType": null,
                    "attributeType": null,
                    "attributeValue": null
                  }
                ]
              }
            ],
                    "consignmentRate": null,
                    "consignmentUnitCost": null,
                    "inventoryIdentifierType : null,
                    "inventoryId": null
          }
        ],
        "transactionTaxTbl": [
          {
            "recType": null,
            "taxCode": null,
            "taxAmount": null,
            "refNo17": null,
            "refNo18": null,
            "refNo19": null,
            "refNo2null": null,
            "transactionTaxAttributeTbl": [
              {
                "recType": null,
                "attributeType": null,
                "attributeValue": null
              }
            ]
          }
        ],
        "transactionPaymentTbl": [
          {
            "recType": null,
            "paymentAmount": null
          }
        ],
        "transactionTenderTbl": [
          {
            "recType": null,
            "tendTypeGroup": null,
            "tendTypeId": null,
            "tenderAmount": null,
            "ccNo": null,
            "ccAuthNo": null,
            "ccAuthSource": null,
            "ccCardholderVerification": null,
            "ccExpirationDate": null,
            "ccEntryMode": null,
            "ccTerminalId": null,
            "ccSpecialCondition": null,
            "ccToken": null,
            "voucherNo": null,
            "couponNbr": null,
            "couponRefNo": null,
            "chequeAccNo": null,
            "chequeNo": null,
            "identificationMethod": null,
            "identificationId": null,
            "originalCurrency": null,
            "originalCurrencyAmount": null,
            "refNbr9": null,
            "refNbr1null": null,
            "refNbr11": null,
            "refNbr12": null,
            "transactionTenderAttributeTbl": [
              {
                "recType": null,
                "attributeType": null,
                "attributeValue": null
              }
            ]
          }
        ],
        "transactionTrailerTbl": [
          {
            "recType": null,
            "recCounter": null
          }
        ]
      }
    ],
    "salesFtailTbl": [
      {
        "recType": null,
        "recCounter": null
      }
    ]
  }
]

Output

Table 5-1348 SVCPROV_SALES_STATUS_REC

Parameter NameData Type
statusMsgString
salesErrTblList< SVCPROV_SALES_FAIL_REC >

Table 5-1349 SVCPROV_SALES_FAIL_REC

Parameter NameData Type
storeBigDecimal
transactionNoBigDecimal
recTypeString
businessDateDate
errorMsgString

The output will contain the status of the request including validation errors, if any.

JSON Structure:
{
      "statusMsg": null,
     "salesErrTbl": [
      {
      "store": null,
      "transactionNo": null,
      "recType": null,
      "businessDateDisplay": null,
      "businessDate": null,
     "errorMsg": null,
     "links": [],
     "hyperMediaContent": {
      "linkRDO": []
 }
      }
 ],
      "links": [],
      "hyperMediaContent": {
      "linkRDO": []
     }
}
Table Impact
TABLESELECTINSERTUPDATEDELETE
SVC_RTLOG_DATA_LOADNoYesNoNo
ITEM_LOC_SOHYesNoYesNo
SA_INPROGRESS_SALESYesYesYesNo
SVC_INPROGRESS_SALESNoYesNoNo
SVC_PROCESS_TRACKERNoYesNoNo

In this guide

  • 2 Administration BatchBatch Operations Guide · shares COST_SUSP_SUP_DETAIL, COST_ZONE_GROUP_LOC, DAILY_PURGE, DEAL_DETAIL
  • F Appendix: Publication Tables and TriggersMerchandising Cloud Services Data Conversion Implementation Guide · shares ADDR_CFA_EXT, ALLOC_DETAIL, ALLOC_HEADER, CLASS_CFA_EXT
  • A Appendix – Interface DetailsRMFCS and SIOCS Implementation Guide · shares ICL_RMS_ADDR, ICL_RMS_ALLOC, ICL_RMS_CLASS, ICL_RMS_DEPS
  • G Appendix: Tables ListMerchandising Cloud Services Data Conversion Implementation Guide · shares ADDR_CFA_EXT, CLASS_CFA_EXT, COST_SUSP_SUP_DETAIL, COST_SUSP_SUP_DETAIL_LOC
  • 5 Purchase OrderBatch Operations Guide · shares ALC_COMP_LOC, ALC_HEAD, ALLOC_CHRG, ALLOC_CHRG_TEMP
  • 6 Scheduled IntegrationInbound and Outbound Integration Guide · shares ADD_TYPE_MODULE, CODE_DETAIL, CODE_HEAD, CODE_TYPE