Package Advanced Shipment Command

Actors

  • Akinon Order Management System (OMS)

  • Shipping Company

Domain Objects​

  • Advanced Shipment Order

  • OMS Command (Advanced Shipment Command)

Process

  1. The OMS application copies orders from the Akinon Omnitron Application to itself to prepare delivery/distribution plans, generate packaging orders and transfer them to operation points.

  2. The products in the order are distributed to the Packaging Orders by running the rules in the distribution scenarios designated by the brand.

  3. Packaging Orders are transferred to the Akinon Instore App or the brand’s integrated software. (Packaging Orders Webhooks)

  4. Packaging orders assigned to the Store/Warehouse commence in the Waiting status.

  5. When the packaging is made physically ready for distribution in one or more steps, the transition to the Packed status is made by using the screens in the Akinon Instore application or when a piece of software integrated into the OMS application runs the OMS commands (see: OMS Commands API).

  6. If the shipping company and the tracking number need to be imported, the Advanced Shipment Command is run to move packages from the Packed to Shipped status. This command does not notify the shipping company; it only records the provided information in the system. If the Notify Invoice Information (remote_invoice_call) setting was entered, an invoice notification request is sent to the address specified with this setting.

Command Parameters and Prerequisites​

For each packaging order:

  • Packaging Order ID (integer – dynamic for each order)

  • Command Transition ID (integer – constant – prepared and reported during OMS installation)

  • slug (string - unique for each state transition - Either slug or Command Transition ID is required)

  • Shipment Tracking Number

  • Shipping Company

If this command is run before a packaging order is moved to the Packed status, a validation error will be triggered.

Regardless of scenarios, the process of lowering and raising quotas continues, the quota amount continues to increase and decrease on a location basis. However, for these alterations to impact planning, the scenario rules must have the SELECT_BY_QUOTA value.

  • The maximum quota value specifies how many packages can be created from the respective location. The quota value is a user-unspecified parameter used for monitoring the maximum quota value and performing increase or decrease operations.

  • max_quota - quota = available_quota

  • If the available_quota value is 0, no packages can be created. (To encounter this scenario, the SELECT_BY_QUOTA value must be chosen in the scenario rules.)

  • For packages with a status below 400 and in the cancellation_waiting state, the quota value increases by 1. (During this stage, when the package is in the waiting state, the quota amount is considered to increase by 1.)

  • Upon packaging a package, the quota value decreases by 1. Consequently, the available_quota increases, enhancing the likelihood of packaging from the respective location.

  • In the event of a package cancellation, the quota amount decreases by 1 in a similar way.


POST Package Advanced Shipment​

Path: https://{customer_api_url}-oms.akinon.net/api/v1/oms/packages/{package_id}/command/

  • Package ID: XXX

  • Transition ID: NNN (set after OMS installation)

  • Slug: SSS (Unique Slug Value)

Request Body​

    {
        "transition": NNN,
        "slug": SSS,
        "package": XXX,
        "input_parameters": {
            "tracking_number": "12312ASD123123",
            "cargo_company": "MNG"
        }
    }

Successful Response​

Status Code: 204 No Content


Execute SHIP_THE_PACKAGE_ADVANCED command

post

Executes SHIP_THE_PACKAGE_ADVANCED command for the given package.

Authorizations
Path parameters
idintegerRequired
Query parameters
formatstring · enumOptional

Response format

Default: jsonPossible values:
Body
transitioninteger | nullableOptional

ID of the transition. Either this or slug must be provided, but not both at the same time.

slugstring | nullableOptional

slug value of the transition. Either this or transition must be provided, but not both at the same time.

packageintegerOptional

ID value of the package

Responses
204
No Content (Successful Operation)
post
POST /api/v1/oms/packages/{id}/command/ HTTP/1.1
Host: sandbox.akinon.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 215

{
  "transition": 1,
  "slug": "text",
  "package": 1,
  "input_parameters": {
    "tracking_number": "text",
    "query_number": "text",
    "cargo_company": "text",
    "erp_code": "text",
    "defined_shipping_company": "text",
    "defined_tracking_url": "text"
  }
}

No content

Last updated

Was this helpful?