1. Docs
  2. arrow-right
  3. Data Pull Overview
  4. arrow-right
  5. Integration Mappings & Confirmation

Integration Mappings & Confirmation

The Mappings tab allows you to customize data mapping using a flexible expression system. Select a mapping type to get started:

  • Orders: If your orders are within a larger object (e.g. an array called "orders" or "items"), start your mappings with this and enter all other mappings within it.
  • Order Lines: 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.)
  • Column: Enter the name from your system, then choosing the corresponding PowerPick column.
  • Advanced: Combine multiple keys by entering more than one value. Enter text within quotes to concatenate keys. For example, Order+"-"+Order Line would produce something like Pick Order 428-2.
  • Primary Key: This item is not mapped to a PowerPick field but is for internal use, such as an ID that can be returned in the confirmation.
  • Text: Add a line of text that will be consistent in all calls.
  • Grouping: This mapping type is for other array objects that are not groups of orders and order lines.

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.

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 name will give a duplication error.

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 Unique Put Order Name",
    "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