Please refer to the API documentation section for the most up-to-date information
https://developer.finaleinventory.com/reference/start
--
Example customization:
{ "customizationId":"PRIMARY",
"orderTypeList":[
{"orderTypeId":"PURCHASE_ORDER","userFieldDefList":[{"attrName":"user_10000","label":"Invoice #"}]},
{"orderTypeId":"SALES_ORDER","userFieldDefList":[{"attrName":"user_10000","label":"Show name"},
{"attrName":"user_10002","label":"Operator"},
{"attrName":"user_10006","label":"Truck #"},
{"attrName":"user_10007","label":"Insurance #"}]}
],
"productTypeList":[
{"productTypeId":"GOOD",
"userFieldDefList":[{"attrName":"user_10000","label":"Igniters"}],
"optionList":[
{"optionName":"category","optionValue":"Modern Category 1","guiOptions":{"sortOrder":1}},
{"optionName":"category","optionValue":"Modern Category 2","guiOptions":{"sortOrder":2}}
]
],
"documentTypeList":[ /* UNDOCUMENTED */ ],
"productUserCategoryList":[ {"attrName":"##user00","label":"Legacy Category 1"},
{"attrName":"##user01","label":"Legacy Category 2"},
{"attrName":"##user02","label":"3\" Shells"},
{"attrName":"##user03","label":"4\" Shells"}],
"productUserUnitOfMeasureList":[{"attrName":"##user00","label":"ea"}]}
}
Patterns for lists of customized fields
Many of the customizations defined on this resource define a list of fields for other resource types in the system. The definition of the custom fields is in the userFieldDefList list key within the customization resource. For example, the userFieldDefList for entries in the orderTypeList define the custom fields visible on purchase orders and sales orders. The data for the custom fields are stored in the userFieldDataList on the related resource.
Each entry in the list of fields defines an internal name which is used to link the definition of the field in the customization resource with the data for the field stored with the related resource (e.g. the order, partygroup, product, etc). The internal name is defined by the attrName.
The userFieldDataList on the related resource can include entries with any value for attrName, but only the entries whose value for attrName matches a value in the corresponding userFieldDefList in the customization resource will be displayed in the UI.
Due to the complexity of the customization resource, we recommend not modifying the customization resource from code but to create the fields for each resource from within Finale using the application settings. You can then do a GET on the customization resource to find the attrName values that correspond to each field that you created and write code to update the entries on the corresponding userFieldDataList as required.
Fields for the customization resource:
-
customizationId
There is a single customization entity whose customizationId is
PRIMARY
-
orderTypeList
Array of objects containing customizations for each order type. There are two order types:
PURCHASE_ORDER
andSALES_ORDER
, so the array will have at most two elements.The customization object has a single key, userFieldDefList, which contains an array of objects defining the custom fields for the order type. Each custom field object has the keys attrName and label. The value of attrName is the internal name of the custom field which is used in the userFieldDataList field of an order. The value of label is the name of the custom field displayed in the user interface. May also have the guiOptions key which contains an object of parameters for user interface.
-
roleTypeList
Array of objects containing customizations for each party group role. There are two party group roles that allow custom fields:
CUSTOMER
andSUPPLIER
, so the array will have at most two elements.The customization object has a single key, userFieldDefList, which contains an array of objects defining the custom fields for the party group role. Each custom field object has the keys attrName and label. The value of attrName is the internal name of the custom field which is used in the userFieldDataList field of an party group and must begin with "user_". The value of label is the name of the custom field displayed in the user interface. May also have the guiOptions key which contains an object of parameters for user interface.
-
productTypeList
Array of objects containing customizations for each product type. Currently there is only one type of product: GOOD, so the array will have at most one element. In the future there may be other types of products (e.g. ASSET_USAGE or SERVICE).
The customization object has two keys: optionList and userFieldDefList
optionList: which contains an array of objects defining custom options, like categories and possibly other customized options. For the modern categories, each option has a optionName set to 'category', optionValue, containing the category name and an optional guiOptions, which can define the sorting order for each category;
userFieldDefList: which contains an array of objects defining the custom fields for the product type. Each custom field object has the keys attrName and label. The value of attrName is the internal name of the custom field which is used in the userFieldDataList field of an product. The value of label is the name of the custom field displayed in the user interface. May also have the guiOptions key which contains an object of parameters for user interface.
-
productUserCategoryList
Array of objects containing legacy user-defined categories for products.
This field is to support the legacy category system, in which the categories would have to be defined before being used. In order to use the new modern category system, please refer to the productTypeList.optionList field. The modern categories allow Finale Inventory to dynamically create new categories on imports and from integrations.
Each legacy user-defined category object has the keys attrName and label. The value of attrName is the internal name of the category which is used in the userCategory field of the product resource. The value of label is the name of the user defined category displayed in the user interface.
The internal name must be specified when adding new entries to this list and should follow the pattern of starting with ##user__ followed by an integer. Internal names must appear at most once in the list. Once referenced from a product definition, the entry for an attrName can not be removed from this list. May also have the guiOptions key which contains an object of parameters for the user interface. The guiOptions currently only has one key defined: sortOrder which GUI uses to sort the categories for display.
-
productUserPriceTypeList
Array of objects containing user defined price levels for products.
Each user defined price level in the array has the keys productPriceTypeId which is the internal name of the price level and the label field which is the name displayed in the user interface. May also have the guiOptions key which contains an object of parameters for user interface.
-
productUserUnitOfMeasureList
Array of objects containing user defined units of measure.
Each user defined category object has the keys attrName and label. The value of attrName is the internal name of the unit of measure which is used in the quantityUomId field of the product resource. The value of label is the name of the user defined unit of measure displayed in the user interface.
The internal name must be specified when adding new etnries to this list and should follow the pattern of starting with
##user__
followed by an integer. Internal names must appear at most once in the list. Once referenced from a product definition, the entry for an attrName can not be removed from this list. May also have the guiOptions key which contains an object of parameters for the user interface. The guiOptions currently only has one key defined: sortOrder which GUI uses to sort the categories for display.
Comments
0 comments
Article is closed for comments.