- API Reference
- Access Points
- API Calls
- Batches
- Bins
- Carriers
- Clients
- Cost Centers
- Images (Supplements)
- Kits
- Kit Lines
- Locations
- Location Contents
- Materials
- Material Codes
- Material Properties
- Orders
- Order Lines
- Reports
- Report Rows
- Settings
- Shelves
- Snapshots
- Stations
- Storage Rules
- Storage Units
- Transactions
- Users
- Warehouses
- Work Order Lines
- Zones
Material Properties
When performing transactions on materials (e.g. Pick, Put) Power Pick Global (PPG) can handle materials differently based on their Material Property.
Materials Properties offers PPG a way to use controls and to record attributes for materials as they are stored in PPG or retrieved from PPG.
Some examples (depending on the license options):
- FIFO (First-in, first-out)
- Permanent Location setting
- Dates (Expiry Date, Production Date, Release Date)
- Lot & Qualification Tracking
- Serial Number Tracking
- Bar code validations
- Count cycles
- Storage Zones (for Puts)
The property specifies which attributes (Lot, Qualification, Expiry Date, Serial Number, etc.) should be recorded when doing a Pick or Put on certain materials.
- unused — The attribute is not required, and must not be in the import file
- essential to create a storage request — The attribute must be included in the import file or specified at the beginning of the manual request.
- optional if not provided introduced during confirmation — The attribute is required, but optional whether in the import file (or manual request) or at confirmation. If it's not provided up-front, then it must be entered at confirmation.
- always introduced during confirmation — Must not be in the import file. Will be prompted for, and must be entered in the Task Processor.
You can create your own Material Properties and assign them to materials a couple of ways:
- In the Material Management, set the Property from the drop-down of available properties that were created in Material Property Management.
- Integration The import needs to include Materialbase.Materialname (i.e. Part Number), and MaterialProperty.Propertyname (Property). Refer to separate guides on integration of data into PPG.
By applying a property to a material, the material will take on all the settings of the property.
Each material needs to have a property assigned to it so that PPG knows how to handle it.
Setting Multiple Attributes
A material can have only 1 property. So if you need materials to have multiple settings, you need to make a new property to set those requirements -- in some cases with compound attributes or controls (e.g. LOT_SERIAL_EXPIRY).
Attributes
- id uuid
-
name
string
The name of the property.
-
description
string
The description of the property.
- type integer
- dangerClass integer
-
countingCycle
integer
The number of days before a material needs to be counted.
-
countingThreshold
float
How many items are needed before triggering a count.
- locContentType integer
- maxDriveSpeed float
- fifoType integer
- isStrictFifo integer
- isUncontrolledInventory integer
- isLocalInventory integer
- expiryDays integer
- putDateResolutionType integer
- lotPutType integer
- lotPickType integer
- isLotMixed integer
- serialNumberPutType integer
- serialNumberPickType integer
- isSerialNumberMixed integer
- expiryDatePutType integer
- expiryDatePickType integer
- isExpiryDateMixed integer
- productionDatePutType integer
- productionDatePickType integer
- isProductionDateMixed integer
- releaseDatePutType integer
- releaseDatePickType integer
- isReleaseDateMixed integer
- qualificationPutType integer
- qualificationPickType integer
- isQualificationMixed integer
Endpoints
List Material Properties
get /api/material_propertiesGet the material properties from the PPG database and return a JSON response.
Arguments
-
name
string
Only return material properties that have the given name.
-
description
string
Only return material properties that include the given description.
-
limit
integer
A limit on the number of objects to be returned. Limit can range between 1 and 1000.
Default value: 250
-
page
integer
Page-numbering is based on the value of the "limit" argument. If limit=20, then page=0 will display the hits from 1 to 20. (Page numbers are zero-based.) Using page without a limit returns all items.
-
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.
Default value: false
{ "material_properties": [ { "expiryDays": null, "isUncontrolledInventory": 0, "productionDatePickType": 0, "isReleaseDateMixed": 1, "productionDatePutType": 0, "serialNumberPutType": 0, "id": "F687AB5F-E6F6-48A2-B748-10CE0A6E2C29", "isLotMixed": 1, "name": "BASIC", "qualificationPutType": 0, "qualificationPickType": 0, "lotPickType": 0, "countingThreshold": null, "releaseDatePickType": 0, "isExpiryDateMixed": 1, "isSerialNumberMixed": 1, "fifoType": 0, "expiryDatePutType": 0, "description": "Test", "serialNumberPickType": 0, "type": 1, "countingCycle": 1, "releaseDatePutType": 0, "expiryDatePickType": 0, "isStrictFifo": 0, "lotPutType": 0, "isProductionDateMixed": 1, "isQualificationMixed": 1, "putDateResolutionType": 1, "isLocalInventory": 0, "dangerClass": null } ] }
Create Material Properties
post /api/material_propertiesAdd a new material property to the PPG database and return a response.
Body Parameters
-
name
string
REQUIRED
Name of the material property.
-
description
string
Description of the material property.
- type integer
- dangerClass integer
-
countingCycle
integer
How many items are needed before triggering a count.
-
countingThreshold
float
How many items are needed before triggering a count.
- locContentType integer
- maxDriveSpeed float
-
fifoType
integer
First-in-first-out. Value 0 for no, or 1 for yes.
-
isStrictFifo
integer
Value 0 for no, or 1 for yes.
-
isLocalInventory
integer
Value 0 for no, or 1 for yes.
-
isUncontrolledInventory
integer
Value 0 for no, or 1 for yes.
- expiryDays
-
putDateResolutionType
integer
Value 0 for not allowed, or 1 for required.
-
lotPutType
integer
Lot Numbers: Puts. Value 0 for not allowed, or 1 for required.
-
lotPickType
integer
Lot Numbers: Picks. Value 0 for not allowed, or 1 for required.
-
isLotMixed
integer
Value 0 for no, or 1 for yes.
-
serialNumberPutType
integer
Serial Numbers: Puts. Value 0 for not allowed, or 1 for required.
-
serialNumberPickType
integer
Serial Numbers: Picks. Value 0 for not allowed, or 1 for required.
-
isSerialNumberMixed
integer
Value 0 for no, or 1 for yes.
-
expiryDatePutType
integer
Expiry Date: Puts. Value 0 for not allowed, or 1 for required.
-
expiryDatePickType
integer
Expiry Date: Picks. Value 0 for not allowed, or 1 for required.
-
isExpiryDateMixed
Value 0 for no, or 1 for yes.
-
productionDatePutType
integer
Production Date: Puts. Value 0 for not allowed, or 1 for required.
-
productionDatePickType
integer
Production Date: Picks. Value 0 for not allowed, or 1 for required.
-
isProductionDateMixed
integer
Value 0 for no, or 1 for yes.
-
releaseDatePutType
integer
Release Date: Puts. Value 0 for not allowed, or 1 for required.
-
releaseDatePickType
integer
Release Date: Picks. Value 0 for not allowed, or 1 for required.
-
isReleaseDateMixed
integer
Value 0 for no, or 1 for yes.
-
qualificationPutType
integer
Qualification: Puts. Value 0 for not allowed, or 1 for required.
-
qualificationPickType
integer
Qualification: Picks. Value 0 for not allowed, or 1 for required.
-
isQualificationMixed
integer
Value 0 for no, or 1 for yes.
-d '{ "name": "Sample Material Property", "description": "Example", "qualificationPutType": 0, "countingCycle": 1, "lotPickType": 0, "expiryDatePutType": 0, "qualificationPickType": 0, "isUncontrolledInventory": 0, "releaseDatePickType": 0, "type": 1, "productionDatePutType": 0, "expiryDatePickType": 0, "isQualificationMixed": 1, "isSerialNumberMixed": 1, "fifoType": 0, "isProductionDateMixed": 1, "lotPutType": 0, "releaseDatePutType": 0, "isLocalInventory": 0, "isStrictFifo": 0, "serialNumberPickType": 0, "serialNumberPutType": 0, "isReleaseDateMixed": 1, "putDateResolutionType": 1, "isLotMixed": 1, "productionDatePickType": 0, "isExpiryDateMixed": 1 }'
{ "material_property": { "qualificationPutType": 0, "countingCycle": 1, "lotPickType": 0, "expiryDatePutType": 0, "qualificationPickType": 0, "isUncontrolledInventory": 0, "releaseDatePickType": 0, "type": 1, "productionDatePutType": 0, "expiryDatePickType": 0, "name": "Sample Material Property", "isQualificationMixed": 1, "isSerialNumberMixed": 1, "dangerClass": null, "fifoType": 0, "isProductionDateMixed": 1, "description": "Example", "lotPutType": 0, "releaseDatePutType": 0, "isLocalInventory": 0, "isStrictFifo": 0, "countingThreshold": null, "serialNumberPickType": 0, "serialNumberPutType": 0, "isReleaseDateMixed": 1, "putDateResolutionType": 1, "isLotMixed": 1, "productionDatePickType": 0, "id": "F687AB5F-E6F6-48A2-B748-10CE0A6E2C29", "expiryDays": null, "isExpiryDateMixed": 1 } }
Show Material Property
get /api/material_properties/[id]Get a specific material property from the PPG database and return a JSON response.
Arguments
{ "material_property": { "qualificationPutType": 0, "countingCycle": 1, "lotPickType": 0, "expiryDatePutType": 0, "qualificationPickType": 0, "isUncontrolledInventory": 0, "releaseDatePickType": 0, "type": 1, "productionDatePutType": 0, "expiryDatePickType": 0, "name": "BASIC", "isQualificationMixed": 1, "isSerialNumberMixed": 1, "dangerClass": null, "fifoType": 0, "isProductionDateMixed": 1, "description": "Test", "lotPutType": 0, "releaseDatePutType": 0, "isLocalInventory": 0, "isStrictFifo": 0, "countingThreshold": null, "serialNumberPickType": 0, "serialNumberPutType": 0, "isReleaseDateMixed": 1, "putDateResolutionType": 1, "isLotMixed": 1, "productionDatePickType": 0, "id": "F687AB5F-E6F6-48A2-B748-10CE0A6E2C29", "expiryDays": null, "isExpiryDateMixed": 1 } }
Update Material Properties
put /api/material_properties/[id]Update a material property in the PPG database and return a response.
Arguments
-
name
string
REQUIRED
Name of the material property.
-
description
string
Description of the material property.
- type integer
- dangerClass integer
-
countingCycle
integer
How many items are needed before triggering a count.
-
countingThreshold
float
How many items are needed before triggering a count.
- locContentType integer
- maxDriveSpeed float
-
fifoType
integer
First-in-first-out. Value 0 for no, or 1 for yes.
-
isStrictFifo
integer
Value 0 for no, or 1 for yes.
-
isLocalInventory
integer
Value 0 for no, or 1 for yes.
-
isUncontrolledInventory
integer
Value 0 for no, or 1 for yes.
- expiryDays
-
putDateResolutionType
integer
Value 0 for not allowed, or 1 for required.
-
lotPutType
integer
Lot Numbers: Puts. Value 0 for not allowed, or 1 for required.
-
lotPickType
integer
Lot Numbers: Picks. Value 0 for not allowed, or 1 for required.
-
isLotMixed
integer
Value 0 for no, or 1 for yes.
-
serialNumberPutType
integer
Serial Numbers: Puts. Value 0 for not allowed, or 1 for required.
-
serialNumberPickType
integer
Serial Numbers: Picks. Value 0 for not allowed, or 1 for required.
-
isSerialNumberMixed
integer
Value 0 for no, or 1 for yes.
-
expiryDatePutType
integer
Expiry Date: Puts. Value 0 for not allowed, or 1 for required.
-
expiryDatePickType
integer
Expiry Date: Picks. Value 0 for not allowed, or 1 for required.
-
isExpiryDateMixed
Value 0 for no, or 1 for yes.
-
productionDatePutType
integer
Production Date: Puts. Value 0 for not allowed, or 1 for required.
-
productionDatePickType
integer
Production Date: Picks. Value 0 for not allowed, or 1 for required.
-
isProductionDateMixed
integer
Value 0 for no, or 1 for yes.
-
releaseDatePutType
integer
Release Date: Puts. Value 0 for not allowed, or 1 for required.
-
releaseDatePickType
integer
Release Date: Picks. Value 0 for not allowed, or 1 for required.
-
isReleaseDateMixed
integer
Value 0 for no, or 1 for yes.
-
qualificationPutType
integer
Qualification: Puts. Value 0 for not allowed, or 1 for required.
-
qualificationPickType
integer
Qualification: Picks. Value 0 for not allowed, or 1 for required.
-
isQualificationMixed
integer
Value 0 for no, or 1 for yes.
-d '{ "name": "Updated Material Property", "description": "Example", "fifoType": 1, "isLocalInventory": 1, "isStrictFifo": 1, }'
{ "material_property": { "qualificationPutType": 0, "countingCycle": 1, "lotPickType": 2, "expiryDatePutType": 0, "qualificationPickType": 0, "isUncontrolledInventory": 0, "releaseDatePickType": 0, "type": 1, "productionDatePutType": 0, "expiryDatePickType": 0, "name": "Updated Material Property", "isQualificationMixed": 1, "isSerialNumberMixed": 1, "dangerClass": null, "fifoType": 1, "isProductionDateMixed": 1, "description": null, "lotPutType": 3, "releaseDatePutType": 0, "isLocalInventory": 1, "isStrictFifo": 1, "countingThreshold": null, "serialNumberPickType": 0, "serialNumberPutType": 0, "isReleaseDateMixed": 1, "putDateResolutionType": 1, "isLotMixed": 1, "productionDatePickType": 0, "id": "BE0D281F-8388-4297-8D70-2BC30284AA9A", "expiryDays": null, "isExpiryDateMixed": 1 } }
Delete Material Property
delete /api/material_properties/[id]Delete a material property from the PPG database.