141 lines
3.8 KiB
Markdown
141 lines
3.8 KiB
Markdown
# Part assembly import / update specifications
|
|
|
|
Names of fields listed here are the exact case and spelling required to be recognized by AyaNova for [importing / updating](adm-import.md).
|
|
|
|
Any field in the import file that is not listed on this page will be removed before sending to the server for import.
|
|
|
|
## Required fields
|
|
|
|
- Name
|
|
|
|
## Key field used to match to existing records
|
|
|
|
- Name
|
|
|
|
## Fields directly importable / updateable
|
|
|
|
- Name (import only)
|
|
- Active
|
|
- Notes
|
|
- Wiki
|
|
- Tags
|
|
- Items
|
|
- Quantity
|
|
|
|
## Linked object fields
|
|
|
|
The following linked objects are importable / updateable:
|
|
|
|
- Part via "PartNameViz" field which must contain the name of an existing Part
|
|
|
|
## JSON file format
|
|
|
|
The .json file must contain an **array** of one or more objects.
|
|
|
|
```JSON
|
|
[
|
|
{
|
|
"Name": "Primary 7242",
|
|
"Active": true,
|
|
"Notes": "Corrupti et animi non soluta.",
|
|
"Wiki": null,
|
|
"Tags": [
|
|
"orange",
|
|
"silver",
|
|
"zone3",
|
|
"zone5"
|
|
],
|
|
"Items": [
|
|
{
|
|
"PartNameViz": "097091",
|
|
"Quantity": 1.00000
|
|
},
|
|
{
|
|
"PartNameViz": "874579",
|
|
"Quantity": 3.00000
|
|
},
|
|
{
|
|
"PartNameViz": "375486",
|
|
"Quantity": 1.00000
|
|
},
|
|
{
|
|
"PartNameViz": "983612",
|
|
"Quantity": 15.00000
|
|
},
|
|
{
|
|
"PartNameViz": "198660",
|
|
"Quantity": 1.00000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "Lower Arm 5369",
|
|
"Active": true,
|
|
"Notes": "Voluptatum et molestiae magnam at iste similique iusto modi ea.",
|
|
"Wiki": null,
|
|
"Tags": [
|
|
"orange",
|
|
"zebra",
|
|
"zone1"
|
|
],
|
|
"Items": [
|
|
{
|
|
"PartNameViz": "734629",
|
|
"Quantity": 1.00000
|
|
},
|
|
{
|
|
"PartNameViz": "048902",
|
|
"Quantity": 1.00000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "Board 9995",
|
|
"Active": true,
|
|
"Notes": "Iure eius ut id consequatur omnis aut ut.",
|
|
"Wiki": null,
|
|
"Tags": [
|
|
"gold",
|
|
"mauve",
|
|
"violet",
|
|
"zone8"
|
|
],
|
|
"Items": [
|
|
{
|
|
"PartNameViz": "335219",
|
|
"Quantity": 1.00000
|
|
},
|
|
{
|
|
"PartNameViz": "048902",
|
|
"Quantity": 1.00000
|
|
},
|
|
{
|
|
"PartNameViz": "417318",
|
|
"Quantity": 1.00000
|
|
}
|
|
]
|
|
}
|
|
]
|
|
```
|
|
|
|
## CSV file format
|
|
|
|
The first row of the .csv file must contain column headers that match the field names listed above.
|
|
|
|
CSV doesn't cleanly map on to structured elements with sub collections well so the Items column here which contains the part and quantity items for this assembly has a special format we've adopted:
|
|
|
|
The Items column **must** be:
|
|
|
|
- surrounded in double "quotes"
|
|
- contain the parts and their quantities in pairs separated by commas
|
|
- each pair must be split by the pipe character |
|
|
- each pair must contain the part name of an existing part in AyaNova as the *first* part of the pair
|
|
- each pair must contain the quantity of that part as the second part of the pair
|
|
|
|
```
|
|
Name,Active,Notes,Wiki,Tags,Items
|
|
Primary 7242,true,Corrupti et animi non soluta.,,"orange,silver,zone3,zone5","097091|1.00000,874579|3.00000,375486|1.00000,983612|15.00000"
|
|
Lower Arm 5369,true,Voluptatum et molestiae magnam at iste similique iusto modi ea.,,"orange,zebra,zone1","734629|1.00000,048902|1.00000"
|
|
Board 9995,true,Iure eius ut id consequatur omnis aut ut.,,"gold,mauve,violet,zone8","335219|1.00000,048902|1.00000,417318|1.00000"
|
|
```
|