Orders

Orders are a group of items that are picked or put into the storage system. When creating and updating orders, the changes need to be verified and updated asynchronously by PowerPick.

Attributes

  • id string

    Unique identifier for the object.

  • name string

    Non-unique name for the order.

  • status string

    Either "Untouched", "Ready for Allocation" (when reverted from "Is Allocated"), "Is Allocated", "In Process" (order is imported but not fully picked/put), or "Processed" (order is fulfilled).

  • priority integer

    Number priority for the order. Higher number indicates higher priority.

  • modifedAt datetime

    The date/time this order was last modified. This will either be the creation date if it is still queued, or the processed date.

  • deadline date

    When the order is due.

  • directionType integer

    1 if the order is a put order, 2 if it is a pick order, 3 is a return, 5 is a count order.

  • handlingUnit string

    DEPRECATED.

  • warehouseName string

    Name of the warehouse this order belongs to.

  • errorCode integer

  • errorDescription string

  • Info1 string

    A generic field for custom use.

  • Info2 string

    A generic field for custom use.

  • Info3 string

    A generic field for custom use.

  • Info4 string

    A generic field for custom use.

  • Info5 string

    A generic field for custom use.

  • zones array

    Array of Zone names this order is a part of.

Endpoints

List Orders

get /api/orders

Arguments

  • limit integer

    A limit on the number of objects to be returned. Limit can range between 1 and 1000, and the default is 250.

  • offset integer

    Will return items, but only those after the integer amount.

  • orderBy string, array

    Order the response by the selected field. Multiple values can be passed, separated by a comma.

  • countOnly boolean

    When true, will only return a count of the amount of items in the query.

  • status string

    Either "Untouched", "Ready for Allocation" (when reverted from "Is Allocated"), "Is Allocated", "In Process" (order is imported but not fully picked/put), or "Processed" (order is fulfilled).

  • modifiedAt datetime

    Return orders modified on a certain date. Like all date arguments, a [gt], [lt], [lte], for [gte] can be prefixed.

  • name string

    Only return orders that have the given name.

  • priority integer

    Only return orders that have the given priority.

  • handlingUnit string

  • directionType integer

    Only return orders that have the given direction type.

  • [dynamic_field]

    Any dynamic fields that have been set up can be used as a filter.

Request with curl
curl "http://[Your IP] /api/orders" \ -X get \ -H "Content-Type: application/json" \ -H "Authorization: Bearer [Your JWT Access Token]"
Example Response
{
    "orders": [
        {
            "warehouseName": "Warehouse",
            "Info5": null,
            "id": "85A55CF6-BE05-48AF-B0D7-D71212C3ACCA",
            "order_lines": [
                {
                    "number": 1,
                    "serialNumber": "61",
                    "materialName": "S103",
                    "quantity": 1.0,
                    "quantityDeviated": 1.0,
                    "id": "11A3CA33-3A5C-47AC-8A99-C30B03255120",
                    "quantityConfirmed": 0.0,
                    "modifiedDate": "2021-11-15T15:49:20.353000",
                    "quantityRequested": 0.0,
                    "lot": null
                },
                {
                    "number": 2,
                    "serialNumber": "62",
                    "materialName": "S103",
                    "quantity": 1.0,
                    "quantityDeviated": 1.0,
                    "id": "B9125633-C57C-4BBF-A022-E163C9B817F7",
                    "quantityConfirmed": 0.0,
                    "modifiedDate": "2021-11-15T15:49:20.373000",
                    "quantityRequested": 0.0,
                    "lot": null
                },
                {
                    "number": 3,
                    "serialNumber": "63",
                    "materialName": "S103",
                    "quantity": 1.0,
                    "quantityDeviated": 1.0,
                    "id": "55A6E9BC-8AC5-40A5-9F9E-8C8AA7EFC735",
                    "quantityConfirmed": 0.0,
                    "modifiedDate": "2021-11-15T15:49:20.393000",
                    "quantityRequested": 0.0,
                    "lot": null
                },
                {
                    "number": 4,
                    "serialNumber": "64",
                    "materialName": "S103",
                    "quantity": 1.0,
                    "quantityDeviated": 1.0,
                    "id": "3A425AA6-5247-4E7C-A567-48E99FEC46C9",
                    "quantityConfirmed": 0.0,
                    "modifiedDate": "2021-11-15T15:49:20.417000",
                    "quantityRequested": 0.0,
                    "lot": null
                },
                {
                    "number": 5,
                    "serialNumber": "65",
                    "materialName": "S103",
                    "quantity": 1.0,
                    "quantityDeviated": 1.0,
                    "id": "4A0C741B-5E79-4713-BB4B-4F10E9C23B1C",
                    "quantityConfirmed": 0.0,
                    "modifiedDate": "2021-11-15T15:49:20.440000",
                    "quantityRequested": 0.0,
                    "lot": null
                }
            ],
            "modifiedDate": "2021-11-15T15:49:20.317000",
            "handlingUnit": null,
            "ORDERISSUETO": null,
            "Info3": null,
            "orderType": 1,
            "ORDERNOTE": null,
            "ORDERFACILITY": null,
            "status": "queued",
            "hasStock": 0,
            "directionType": 1,
            "Info1": null,
            "ORDERINFO6": null,
            "Info2": null,
            "unit": null,
            "priority": 2,
            "storageUnits": [
                {
                    "id": "CA1E5648-FA38-416F-9604-CF33A6763496",
                    "name": "VLM-01"
                }
            ],
            "incompleteAllocations": 0,
            "Info4": null,
            "name": "Test Put Order Safe 10",
            "deadline": null
        }
    ]
}

Create Order

post /api/orders

Create an order and get a response. An array of at least one Order Line is required. For fields on the Order Lines level, click here.

Body Parameters

  • name string REQUIRED

    The unique order name/number.

  • directionType integer

    1 if the order is a put order, 2 if it is a pick order. Defaults to 1.

  • order_lines array REQUIRED

    Any amount of order lines related to this order (see Order Lines for more information on fields).

  • priority integer

    Number priority for the order. Defaults to 2.

  • allocate boolean

    Whether this order should be allocated when imported. Defaults to false.

  • deadline datetime

    When the order is due.

  • [DynamicField] string

    Any of the dynamic order fields from PowerPick.

  • warehouseName string

    The name of the Warehouse this order will be associated with. If no warehouse name or id is given, it will use the warehouse associated with the current station.

  • warehouseId uuid

    The id of the Warehouse this order will be associated with. Cannot be used with warehouseName.

Request with curl
curl "http://[Your IP] /api/orders" \ -X post \ -H "Content-Type: application/json" \ -H "Authorization: Bearer [Your JWT Access Token]" \
-d '{
    "name": "Sample Put Order",
    "directionType": "Put",
    "allocate": true,
    "order_lines": [
        {
            "materialId": "8E7EC42A-F2B2-4B64-BF71-750F006DEF8D",
            "quantity": 1,
            "Info1": "TEST",
            "serialNumber": 8
        },
               {
            "materialId": "8E7EC42A-F2B2-4B64-BF71-750F006DEF8D",
            "quantity": 1,
            "Info1": "TEST",
            "serialNumber": 9
        },        {
            "materialId": "8E7EC42A-F2B2-4B64-BF71-750F006DEF8D",
            "quantity": 1,
            "Info1": "TEST",
            "serialNumber": 10
        },        {
            "materialId": "8E7EC42A-F2B2-4B64-BF71-750F006DEF8D",
            "quantity": 1,
            "Info1": "TEST",
            "serialNumber": 12
        }
    ]
}'
Example Response
{
    "order": {
        "warehouseName": "Warehouse",
        "Info5": null,
        "id": "C1B2FB93-40A9-4B17-998B-DEA51CCE5C38",
        "order_lines": [
            {
                "number": 1,
                "serialNumber": "8",
                "materialName": "S103",
                "quantity": 1.0,
                "quantityDeviated": 1.0,
                "id": "C528ABFC-A2E3-4C53-A487-04E66C5BB906",
                "quantityConfirmed": 0.0,
                "modifiedDate": "2021-11-15T20:06:51.363000",
                "quantityRequested": 0.0,
                "lot": null
            },
            {
                "number": 2,
                "serialNumber": "9",
                "materialName": "S103",
                "quantity": 1.0,
                "quantityDeviated": 1.0,
                "id": "7611E030-7B47-475C-AE09-4C4C5456BE57",
                "quantityConfirmed": 0.0,
                "modifiedDate": "2021-11-15T20:06:51.423000",
                "quantityRequested": 0.0,
                "lot": null
            },
            {
                "number": 3,
                "serialNumber": "10",
                "materialName": "S103",
                "quantity": 1.0,
                "quantityDeviated": 1.0,
                "id": "38DC788D-A46C-4163-B6DA-4D9F3B411B91",
                "quantityConfirmed": 0.0,
                "modifiedDate": "2021-11-15T20:06:51.510000",
                "quantityRequested": 0.0,
                "lot": null
            },
            {
                "number": 4,
                "serialNumber": "12",
                "materialName": "S103",
                "quantity": 1.0,
                "quantityDeviated": 1.0,
                "id": "238EEE37-9B6B-4204-97E8-F1635B4BD4D0",
                "quantityConfirmed": 0.0,
                "modifiedDate": "2021-11-15T20:06:51.577000",
                "quantityRequested": 0.0,
                "lot": null
            }
        ],
        "modifiedDate": "2021-11-15T20:06:51.363000",
        "handlingUnit": null,
        "ORDERISSUETO": null,
        "Info3": null,
        "orderType": 1,
        "ORDERNOTE": null,
        "ORDERFACILITY": null,
        "status": "queued",
        "hasStock": 1,
        "directionType": 1,
        "Info1": null,
        "ORDERINFO6": null,
        "Info2": null,
        "unit": null,
        "priority": 2,
        "storageUnits": [
            {
                "id": "CA1E5648-FA38-416F-9604-CF33A6763496",
                "name": "VLM-01"
            }
        ],
        "incompleteAllocations": 0,
        "Info4": null,
        "name": "Sample Put Order",
        "deadline": null
    }
}

Show Order

get /api/orders/[id]

Get a specific order from the PPG database and return a JSON response. The order will be pulled either from the MasterOrder table or the HistoryMasterOrder table, depending on whether it's been picked.

Request with curl
curl -L 
-X GET '[Your IP]/api/orders/C1B2FB93-40A9-4B17-998B-DEA51CCE5C38' 
-H 'Content-Type: application/json' 
-H 'Authorization: Bearer [Your JWT Access Token]'
Example Response
{
    "order": {
        "warehouseName": "Warehouse",
        "Info5": null,
        "id": "C1B2FB93-40A9-4B17-998B-DEA51CCE5C38",
        "order_lines": [
            {
                "number": 1,
                "serialNumber": "8",
                "materialName": "S103",
                "quantity": 1.0,
                "quantityDeviated": 1.0,
                "id": "C528ABFC-A2E3-4C53-A487-04E66C5BB906",
                "quantityConfirmed": 0.0,
                "modifiedDate": "2021-11-15T20:06:51.363000",
                "quantityRequested": 0.0,
                "lot": null
            },
            {
                "number": 2,
                "serialNumber": "9",
                "materialName": "S103",
                "quantity": 1.0,
                "quantityDeviated": 1.0,
                "id": "7611E030-7B47-475C-AE09-4C4C5456BE57",
                "quantityConfirmed": 0.0,
                "modifiedDate": "2021-11-15T20:06:51.423000",
                "quantityRequested": 0.0,
                "lot": null
            },
            {
                "number": 3,
                "serialNumber": "10",
                "materialName": "S103",
                "quantity": 1.0,
                "quantityDeviated": 1.0,
                "id": "38DC788D-A46C-4163-B6DA-4D9F3B411B91",
                "quantityConfirmed": 0.0,
                "modifiedDate": "2021-11-15T20:06:51.510000",
                "quantityRequested": 0.0,
                "lot": null
            },
            {
                "number": 4,
                "serialNumber": "12",
                "materialName": "S103",
                "quantity": 1.0,
                "quantityDeviated": 1.0,
                "id": "238EEE37-9B6B-4204-97E8-F1635B4BD4D0",
                "quantityConfirmed": 0.0,
                "modifiedDate": "2021-11-15T20:06:51.577000",
                "quantityRequested": 0.0,
                "lot": null
            }
        ],
        "modifiedDate": "2021-11-15T20:06:51.363000",
        "handlingUnit": "Box 1",
        "ORDERISSUETO": null,
        "Info3": null,
        "orderType": 1,
        "ORDERNOTE": null,
        "ORDERFACILITY": null,
        "status": "queued",
        "hasStock": 1,
        "directionType": 1,
        "Info1": null,
        "ORDERINFO6": null,
        "Info2": null,
        "unit": null,
        "priority": 2,
        "storageUnits": [],
        "incompleteAllocations": 0,
        "Info4": null,
        "name": "Sample Put Order",
        "deadline": null
    }
}

Update Order

put /orders/[id]

Update an order and get a response. Each key/value is optional. Only keys sent will be updated, but an object is required to be sent.

Arguments

  • handlingUnit string

  • number string

    This updates the order number.

  • [DynamicField] string

  • allocate boolean

    If true or false, this will either allocate or deallocate the order.

Request with curl
curl "http://[Your IP] /orders/[id]" \ -X put \ -H "Content-Type: application/json" \ -H "Authorization: Bearer [Your JWT Access Token]"
-d '{"allocate": "false", "handlingUnit": "Box 1"}'
Example Response
{
    "order": {
        "warehouseName": "Warehouse",
        "Info5": null,
        "id": "C1B2FB93-40A9-4B17-998B-DEA51CCE5C38",
        "order_lines": [
            {
                "number": 1,
                "serialNumber": "8",
                "materialName": "S103",
                "quantity": 1.0,
                "quantityDeviated": 1.0,
                "id": "C528ABFC-A2E3-4C53-A487-04E66C5BB906",
                "quantityConfirmed": 0.0,
                "modifiedDate": "2021-11-15T20:06:51.363000",
                "quantityRequested": 0.0,
                "lot": null
            },
            {
                "number": 2,
                "serialNumber": "9",
                "materialName": "S103",
                "quantity": 1.0,
                "quantityDeviated": 1.0,
                "id": "7611E030-7B47-475C-AE09-4C4C5456BE57",
                "quantityConfirmed": 0.0,
                "modifiedDate": "2021-11-15T20:06:51.423000",
                "quantityRequested": 0.0,
                "lot": null
            },
            {
                "number": 3,
                "serialNumber": "10",
                "materialName": "S103",
                "quantity": 1.0,
                "quantityDeviated": 1.0,
                "id": "38DC788D-A46C-4163-B6DA-4D9F3B411B91",
                "quantityConfirmed": 0.0,
                "modifiedDate": "2021-11-15T20:06:51.510000",
                "quantityRequested": 0.0,
                "lot": null
            },
            {
                "number": 4,
                "serialNumber": "12",
                "materialName": "S103",
                "quantity": 1.0,
                "quantityDeviated": 1.0,
                "id": "238EEE37-9B6B-4204-97E8-F1635B4BD4D0",
                "quantityConfirmed": 0.0,
                "modifiedDate": "2021-11-15T20:06:51.577000",
                "quantityRequested": 0.0,
                "lot": null
            }
        ],
        "modifiedDate": "2021-11-15T20:06:51.363000",
        "handlingUnit": "Box 1",
        "ORDERISSUETO": null,
        "Info3": null,
        "orderType": 1,
        "ORDERNOTE": null,
        "ORDERFACILITY": null,
        "status": "queued",
        "hasStock": 1,
        "directionType": 1,
        "Info1": null,
        "ORDERINFO6": null,
        "Info2": null,
        "unit": null,
        "priority": 2,
        "storageUnits": [],
        "incompleteAllocations": 0,
        "Info4": null,
        "name": "Sample Put Order",
        "deadline": null
    }
}

Delete Order

get /api/orders/[id]/delete

Delete a specific order from the PPG database and return a JSON response. This will also delete the order lines associated with the order.

Request with curl
curl -L 
-X DELETE '[Your IP]/api/orders/C1B2FB93-40A9-4B17-998B-DEA51CCE5C38/delete' 
-H 'Content-Type: application/json' 
-H 'Authorization: Bearer [Your JWT Access Token]'
Example Response
{"deleted": "true"}