Skip to main content

Basic Setup

This document outlines the essential steps required for setting up the foundational elements of the OMS (Order Management System). This initial setup is crucial to ensure a smooth integration and operation of the OMS within the project.

Please proceed by following the steps below to successfully set up the OMS.

1. Controll OMS Machine

  • The accessibility of the OMS machine is controlled with the https://xxx-omnitron.akinon.net URL.
  • If it is inaccessible, create a job on the INF board, including the brand information, and request that the OMS machine be opened.

2. Create Users in Back Office

  • Create a user with admin status in the brand’s Omnitron back office for the person who will perform the setup.
  • Support can be received from the brand’s ACM by using back office user information.

3. Controll OMS Application

  • Log into the system for control purposes.

4. Copy Address Records Defined on Omnitron to OMS

  • https://xxx-omnitron.akinon.net/api/v1/oms/setup/addresses/is_required/ A request is sent to inquire whether the address data is accessible on the system. If no data can be found, the is_required request will return the true response.
  • https://xxx-omnitron.akinon.net/api/v1/oms/setup/addresses/execute/ A request is sent to retrieve information.
  • https://xxx-omnitron.akinon.net/api/v1/oms/setup/addresses/get_async_status/ A request permits tracking of the operation status.

5. Copy Stores Defined on Omnitron to OMS

  • https://xxx-omnitron.akinon.net/api/v1/oms/stock_locations/is_required/ A request is sent to inquire whether the stores are accessible on the OMS system. If there are no stores or the information is not synchronous, the is_required request will return a true response.
  • https://xxx-omnitron.akinon.net/api/v1/oms/stock_locations/execute/ A request is sent to retrieve the data.
  • https://xxx-omnitron.akinon.net/api/v1/oms/stock_locations/get_async_status/ A request permits tracking of the operation status.

6. Copying channels defined on Omnitron to the OMS

  • https://xxx-omnitron.akinon.net/api/v1/oms/channels/is_required/ A request is sent to inquire whether the channels are accessible on the system. If no addresses can be found, the is_required request will return the true response.
  • https://xxx-omnitron.akinon.net/api/v1/oms/channels/execute/ A request is sent to retrieve the data.
  • https://xxx-omnitron.akinon.net/api/v1/oms/channels/get_async_status/ A request permits tracking of the operation status.

7. Add OMS Credentials to Omnitron Settings

  • Create a user with the oms.application username in the Omnitron back office.
  • This user is added as values corresponding to the username and password keys below OMNITRON_CLIENT_SETTINGS>auth in the OMS settings table, and saved with the OMS application settings service.

8. Save Order Filtering Setting for OMS Order Retrieval

  • Save the ORDER_FILTERING setting, which defines the order retrieval status for the OMS. Please note that this setting might differ based on the brand.

9. Scoring Method for Selecting Packaging Center

Should the brand require a scoring method to assess the distance between the delivery address and the packaging center during the selection of the relevant packaging center,

  • Ask the brand for a Google Maps API or Yandex Maps API key.
  • After receiving the key, define it on the OMS settings table in the GEOLOCATION_DISCOVERY settings.

10. Obtain OMS Integration Information to Inquire About Physical Stock

  • This service information is defined in the OMS > Product Stock Integration > New Integration field.

  • A second method is defining product integration with the setup service.

    • https://xxx-omnitron.akinon.net/api/v1/oms/setup/product-stock-integration/available-stock-engines/ A list of stock services can be obtained by sending a GET request.

    • https://xxx-omnitron.akinon.net/api/v1/oms/setup/product-stock-integration/execute/A POST request can be sent for the purpose of defining the integration.

      Example of a request body:

      {
      "url":"...",
      "stock_engine_type":"..." --> it will being retrieved by available-stock-engines request
      "username":"..." --> optional (It is enough to write for the required engine definition.)
      "password":"..." --> optional (It is enough to write for the required engine definition.)
      }

11. Scenario Definition Process

  • Learn from the brand which locations can fulfill packaging orders on a channel basis.
  • Scenarios received in written form are defined using OMS scenario screens.

12. Compile Event List for OMS

Prepare a list of the events that will take place on the OMS (if any) to send to the brand.

  • Create the Webhook records requested by the brand from the OMS > Webhook Services screen.

For instance: notifying the X address when the package is ready.

13. Define OMS Package Commands

Define OMS package commands (status change flow of packages) in line with brand processes.

  • Example of a flow that has been mutually agreed upon with the brand:
    • Waiting status
    • Followed by Preparing status
    • The Pack command is run
    • Ship command is run, etc. (This flow can be defined as soon as the OMS machine is accessible.)

14. Define Cargo Integration

  • First of all you should fill name and erp_code fields.
  • Then you should choose shipping management and Demo Client fields.
    • If you want to manage cargo with OMS you should click. (shipping management)
    • If you do not integrate any cargo companies you can manage your cargo process with Demo Clients that you choose. (Demo Client)
  • When you fill all fields you should click save button.
  • If you want to integrate any cargo company you should fill credentials part.
  • If you want to use Demo Client you should fill conf part.
  • https://xxx.omnitron.akinon.net/api/v1/oms/cargo-company/ Example of a request body: ​
{
"name": "cargo-company",
"erp_code": "cargo_company_erp_code",
"is_managed_by_oms": true,
"is_demo_client": false,
"shipping_company": "cargo-company-value",
"conf": { -> conf fields are changeable according to the cargo company.
"username": "asd",
"password": "asd",
"company_description": "asd",
"name": "asd",
"address": "asd",
"query_shipment_url": "query_url",
"create_shipment_url": "create_shipment_url"
}
}
{
"shipping_company": "cargo-company",
"conf": {
"klass": "oms.shipments.clients.demo_client.<DemoClientName>"
},
"name": "test",
"erp_code": "test_erp_code",
"is_managed_by_oms": true,
"is_demo_client": true
}
    This is not payload. These fields are just that you will see on the page !!!
{
"name":"...",
"erp_code":"..."
"shipping_management": "..." -> If you want to magage cargo from oms you should click.
"demo_client": "..." -> If you want to use Demo Client you should click.
"shipping_company": "..." -> Which cargo company or Demo Client do you use ?
"credentials": "..." -> When you choose shipping_company credendials part generated according to cargo company.
}

15. Create Brand-Specific Jobs

Jobs can be created for any additional brand-specific settings.