1. Docs
  2. arrow-right
  3. API Overview
  4. arrow-right
  5. Integration Guide

Integration Guide

Keys to Successful Implementation

To integrate your software and PowerPick using the ItemPath API, these steps lead to a successful, straightforward implementation.

1. Decide who makes the first move.

REST API is a responsive automated integration method: a call is made, and a response is returned. The ItemPath API is compatible with external systems of all kinds, and many modern ERPs have the ability to initialize the API call (e.g. to create an order, fetch confirmation records, or import new materials).

However, in cases where middleware is needed, we recommend using ItemPath’s already-developed integration tools to initiate data flow in both directions, like this:

  • Data Pull: Imports orders and materials from an external source and creates them in PowerPick.
  • Data Push: Exports transaction confirmations from PowerPick to the connected software.

These ItemPath API tools accept and pass data in JSON format. Detailed logging makes it easy to track down errors. And we take security extremely seriously at ItemPath. Our integration has passed extensive security checks and is compatible with multiple authentication methods.

 Power Pick Integration Diagram

2. Determine your "bare minimum."

Start with the most essential requirements for your integration, and you'll have a good foundation to build on.

Data Pull

Certain attributes are required to successfully create orders and materials in PowerPick. These are listed in the ItemPath API reference, but below are the essentials for Data Pull and some sample suggestions. When deciding what other keys to pass, the possibilities are wide open to you—PowerPick fields can store a lot of detail.

The attributes are shown the way they're sent to PowerPick, but these will be mapped to the field names your ERP or other software uses, as the screenshots show.

Note: ItemPath expects to receive data in this kind of hierarchy structure, with order line details in an array object containing material and quantity information. If your JSON doesn't look like this, let's chat.

Required Fields for an Order:

{
    "name": "Example Put Order",
    "order_lines": [
        {
            "materialName": "Example Material",
            /OR/
            "materialId": "8E7EC42A-F2B2-4B64-BF71-750F006DEF8D",
            /OR/
            "materialcode": "Example Alternate Part Number",
            "quantity": 5
        }
    ]
}

IMPORTANT: Order names used in Data Pull orders MUST be unique. In order to make sure no orders that have already been completed get "pulled" in, Data Pull checks the history list, so a reused order name will give a duplication error, unless you allow Data Pull to append new lines to a previous order.
 

Note: If a direction type is not specified, the default is 2 (pick). Alternatively, if you use positive or negative quantities to determine the direction, Data Push has a setting to handle that.

Suggested Fields for an Order:

{
    "name": "Example Put Order",
    "directionType": "1",
    "order_lines": [
        {
            "materialName": "Example Materials",
            "quantity": 5,
            "lot": "114"
            "Info1": "Order line description",
        }
    ],
    "priority": 3,
    "deadline": "2024-04-22T19:11:45.590000",
    "Info1": "Order description",
}
 Data Pull Order Mappings

Required Fields for a Material:

{
    "name": "Example Material”,
}

Suggested Fields for a Material:

{
    "name": "Example Material”,
    "codes": [
        "21890",
        "FTS-21890"
    ],
    "Info1": "Part description",
    "Info2": "This material has alternate part lookup numbers",
    "unitOfMeasure": "ea",
    "materialPropertyId" : "F687AB5F-E6F6-48A2-B748-10CE0A
}
 Data Pull Material Mappings

Note: You can also set a default material property for each integration, which is especially helpful for serialized parts.

New Records Only

Data Pull needs to be able to determine which orders or materials are new. To be clear, ItemPath and PowerPick each have methods of preventing duplicates, but pulling in the same records over and over will slow things down. Here are a couple ways around that:

  • Marking records as exported
  • Calling an endpoint with a filter, e.g. by a recent date range

Note: Data Pull does not currently support importing updates to existing records. However, changes can be made to materials, orders, and order lines via the ItemPath API using PUT calls.

Confirmations

When a material or order import is complete, Data Pull can also send a confirmation message. This is also customizable, but we recommend including the status code and message, which will indicate if the import was successful or if there were errors.

Here’s what your Data Pull confirmation might look like if you use them to mark orders as imported:

{
    "ORDER_NAME": "Example Put Order",
    "ORDER_ID": "CC12C8F7",
    "STATUS": "200",
    "MESSAGE": "Order imported successfully"
}
 Data Pull Order Confirmation Mappings

Data Push

The minimum requirements for the Data Push portion of the integration, receiving confirmations from PowerPick, will depend on what your ERP or other software needs.

Suggested Fields for a Transaction:

{
    "transaction": {
        "id": "04F34123-0222-4D0D-8452-EB2FB122B8E6",
        "creationDate": "2021-11-22T19:11:45.590000",
        "type": 3,
        "orderId": "CB64674A-5BD1-48DA-A212-BD5E763A95C6",
        "orderName": "Serial Pick Order",
        "orderLineId": "DC6288AC-C2FE-4606-A1A6-FE61352C6D0D",
        "number": 1,
        "materialName": "S103",
        "serialNumber": "12",
        "quantityRequested": 1.0,
        "quantityConfirmed": 0.0,
        "quantityDeviated": 1.0,
        "userName": "Admin",
        "motiveType": 5,
        "reasonCode": null,
        "handlingUnit": null,
        "storageUnitName": "VLM 1",
        "warehouseName": "Warehouse 1",
    }
}
 Data Push Confirmation Mappings

If you're new to PowerPick, here are some examples of what constitutes a transaction and some of the kinds of information they include.

 Transactions Guide

One Order Line, Multiple Transactions

An important distinction about confirmations: one order line can have more than one transaction, for many reasons (e.g. picking or putting to multiple bins or handling units). These reasons might be associated with a motive, like a shortage or deletion.

With Data Push, transactions can be consolidated so only one confirmation is sent per order line, combining data from multiple records.

 Transactions guide example

3. Choose a champion.

Elect a person on your team who will see the project through to the end, and keep pushing for successful implementation. ItemPath’s dedicated support team will work closely alongside this person through each step and help meet your timeline goals.

4. Play in the sandbox.

ItemPath is used for daily operations across a wide range of industries. Our Service Level Agreements include uptime guarantees and extended support hours, with a highly responsive team of experienced integrators.

Our SLAs also include a license to a test environment of ItemPath. Connect this to a test PowerPick and ERP system and you’ll have a full sandbox to develop your integration in, plus try out new features in future software upgrades. With this setup, you can safely make changes and work out any bugs before launching your production system.

5. Open your reporting toolbox.

With an ItemPath license, you also receive access to advanced analytical tools like our Reports, Dashboard, Workflows, and Explorer. Click here to see all the features available to you.