1. Inventory Handling API | Inventory handling API is used to move items between warehouses, receive parts into warehouses, and issue parts from warehouses. |
1.1. Inventory Handling Receive API |
Functions
Receiving API is used to receive items into Inventory.
URL: {Root URL}/API/InventoryHandling/receive/{API Key}
Parameters
Parameters |
Description |
Required |
Comment |
Part_sourc |
Source of the Part |
Y |
Can be 'MAKE', 'BUY', or 'CONSG' |
uniq_key |
Use to identify the part |
Y |
When uniq_key is used you do not need part_no |
part_no |
Part number you wish to transfer |
Y |
Part_no can be used if you do not have the uniq_key
|
revision |
Part revision level |
N |
Required when you use part_no if the part has a revision |
custpartno |
Customer Part Number |
N |
Use instead of part_no if the part_sourc is CONSG |
custrev |
Customer revision level |
N |
Required if custpartno is used and the part has a revision |
Partmfgr |
Part Manufacturer |
N |
Used to specify part manufacturer |
Mfgr_pt_no |
Manufacturer part number |
N |
Used with partmfgr |
Uniqmfgrhd |
Manufacturer identification |
N |
Can be used in place of partmfgr and mfgr_pt_no. |
Warehouse |
Warehouse Name |
Y |
Choose which warehouse the part will be received into. |
Location |
Location Name |
N |
Used when the part is being received into a specific location in the warehouse. |
Uniqwh |
Warehouse identifier |
Y |
Choose which warehouse the part will be received into. Can be used in place of warehouse. Needs location. |
WhNo |
Warehouse Number |
Y |
Choose which warehouse the part will be received into. Can be used in place of warehouse and uniqwh. Needs location. |
W_Key |
Inventory Unique Identifier Key |
Y |
Choose which warehouse the part will be received into. |
LotcodeAndSerialNo
|
Lot Code or Serialized |
N |
Required if the part is lotcoded or Serialized |
expDate |
Expiration Date |
N |
Required if the part is lot coded. Use MM-DD-YYYY format. |
internalLotReference |
Internal Lot Reference |
N |
Only needed if the part is lot coded |
cserialNo |
Serial No |
N |
Required of the part is serialized |
QtyRec |
Received Quantity |
Y |
The amount of the part you are receiving |
qtyPerPackage |
|
|
|
Reason |
Reason for transfer |
Y |
Can be: 'BEGINNING RAW MATL. INV.', 'CONSIGNED MATERIAL', 'FREE SAMPLES', 'MATERIAL ON TRIAL', 'REPAIR RETURN FROM VENDOR', 'WARRANTY REPLACEMENT' |
gl_nbr |
General Ledger Number |
Y |
Used to add a record of the transaction to the general ledger |
transactionReference
|
Transaction Reference |
Y |
User defined field
|
Example Strings
No Lot Code, No Serialization
URL- ?part_sourc=BUY&part_no=PARTNUMBER&revision=REVISION&W_Key=WKEY&QtyRec=1&reason=CONSIGNED MATERIAL&TransactionReference=New Customer Inventory&Gl_Nbr=GENERALLEDGERNUMBER
JSON-
{
'part_sourc':'BUY',
'part_no':'PARTNUMBER',
'revision':'REVISION',
'W_Key':'WKEY',
'QtyRec':'1',
'reason':'CONSIGNED MATERIAL',
'transactionReference':'New Customer Inventory',
'Gl_Nbr':'GENERALLEDGERNUMBER'
}
Lot Code, Serialization
URL- ?part_sourc=BUY&UNIQ_KEY=UNIQKEY&LotCodeAndSerialNo=LOTCODE@SERIALNUMBER&EXPDATE=MM-DD-YYYY&W_Key=WKEY&QtyRec=1&reason=CONSIGNED MATERIAL&transactionReference=New Customer Inventory&Gl_Nbr=0000000-00-00
JSON-
{
'part_sourc':'BUY',
'UNIQ_KEY':'UNIQKEY',
'lotCodeAndSerialNo':'LOTCODE@SERIALNUMBER',
'EXPDATE':'MM-DD-YYYY',
'W_Key':'WKEY',
'QtyRec':'1',
'reason':'CONSIGNED MATERIALS',
'transactionReference':'New Customer Inventory',
'Gl_Nbr','0000000-00-00'
}
Lot Code with Multiple Serial Numbers
"LotcodeAndSerialNo":"LotCode1@1230120,234455,33333"
Lot Code, No Serialization
Example 1: user provides uniq_key, uniqmfgrhd, no part-no and no mpn
{ "Part_Sourc":"BUY", "uniq_key":"_01F15SZAH", "uniqmfgrhd":"_01F15T9BZ", "WareHouse" :"MAIN1", "Location":"", "QtyRec":"16", "expDate":"09/04/2017", "REFERENCE":"test21", "GL_NBR":"1430000-00-00", "LotcodeAndSerialno":"Lot-10"
}
Example 2: User provides uniq_key, uniqmfgrhd, and mpn
{ "Part_Sourc":"BUY", "uniq_key":"_01F15SZAH", "uniqmfgrhd":"_01F15T9BZ", "partmfgr":"AVX", "WareHouse" :"MAIN1", "Location":"", "QtyRec":"15", "mfgr_pt_no":"CR10-2610FT", "expDate":"09/04/2017", "REFERENCE":"test21", "GL_NBR":"1430000-00-00", "LotcodeAndSerialno":"Lot-09" }
Example 3: user provides Part_no, revision, MPN, no uniq_key,uniqmfgrhd
{ "Part_Sourc":"BUY", "Part_No":"101-0001707", "Revision":"", "partmfgr":"AVX", "WareHouse" :"MAIN1", "Location":"", "QtyRec":"1", "mfgr_pt_no":"CR10-2610FT", "expDate":"09/04/2017", "REFERENCE":"test21", "GL_NBR":"1430000-00-00", "LotcodeAndSerialno":"Lot-09" }
No Lot Code, Serialized
URL- ?Part_sourc=BUY&part_no=PARTNUMBER&lotcodeAndSerialNo=000000000000000000000000000000&W_KEY=WKEY&QtyRec=1&reason=CONSIGNED MATERIAL&transactionReference=New Customer Inventory&Gl_Nbr=0000000-00-00
JSON
{
'part_sourc':'BUY',
'part_no':'PARTNUMBER',
'lotCodeAndSerialNo':'000000000000000000000000000000',
'W_Key':'WKEY',
'QtyRec':'1',
'reason','CONSIGNED MATERIAL',
'transactionReference':'New Customer Inventory',
'Gl_Nbr':'0000000-00-00'
}
Successful requests should return the following:
{
"$id":"1",
"Code":200,
"Message":"Inventory added successfully.",
"SessionId":null,
"IsValidUser":true,
"ResponseObject":null
}
Common Errors
API Key Error
If there is an error with the entered API key the system will return an error describing it.
{
"$id": "1",
"Code": 403,
"Message": "Invalid API Key.",
"SessionId": null,
"IsValidUser": false,
"ResponseObject": null
}
Incorrect Parameter
If an incorrect parameter value is used the system will return an error describing the incorrect parameter.
{
"$id": "1",
"Code": 403,
"Message": "Failed:Please provide valid GL_NBR.",
"SessionId": null,
"IsValidUser": true,
"ResponseObject": null
}
The GL_nbr parameter for the "Receive" API has to be on the list for the Inventory Handling GL Defaults for 'Receiving'.
URL Error
If there is an error within the URL the system will return a HTTP error.
{
"$id": "1",
"Message": "No HTTP resource was found that matches the request URI 'http://localhost/api/InventoryHandling/Receiv/123456789'.",
"MessageDetail": "No action was found on the controller 'InventoryHandling' that matches the name 'Receiv'."
}
​Keep in mind that if you were to create a new location when transferring you need the following checked.
Inventory Control Management Module, the MFGR that you creating the new location under, needs to have "Allow Auto Creating Location at Receiving" checked.
Under Sql Setting the warehouse you are receiving into also needs " Allow Auto Create Location at Receiving" checked.
|
1.2. Inventory Handling Transfer API |
Functions
Transfer API is used to transfer items between warehouses.
URL: {Root URL}/API/InventoryHandling/Transfer/{API Key}
Parameters
Parameter |
Description |
Required |
Comment |
fromIpKey |
|
|
|
SerialNo |
Serial Number for the part |
Y/N |
Required if the part is serialized |
|
Source of the Part |
Y |
Can be 'BUY', 'MAKE', 'CONSG' |
uniq_key |
Identifier for the part |
Y |
|
part_no |
Part Number you wish to transfer |
Y |
Part_no can be used instead of uniq_key |
revision |
Part Revision Level |
N |
Required when using part_no and the part has a revision level |
custPartNo |
Customer Part Number |
Y/N |
|
custRev |
Customer Revision Level |
N |
Required when using custPartNo if the part has a revision level |
partMfgr |
Part Manufacturer |
Y |
Used to choose the manufacturer of the part when there are multiple manufacturers in the system. |
mfgr_pt_no |
Manufacturer Part Number |
Y |
Used in place of partMfgr to choose manufacturer. |
uniqmfgrhd |
Manufacturer Identification |
N |
Used in place of partMfgr and mfgr_pt_no to choose manufacturer. |
fromWarehouse |
Warehouse where the item will be transferred from |
Y |
|
fromLocation |
Location where the part will be transferred from |
N |
Used when the selected warehouse also has location information assigned to it. |
fromWhNo |
From Warehouse number |
N |
Choose transfer from warehouse by number |
fromW_Key |
From Unique Inventory Identifier Key |
N |
Selects warehouse, does not require location information |
lotCode |
Lot Code |
N |
Required if the part is Lot Coded, use MM-DD-YYYY format |
expDate |
Expiration Date |
N |
Required when the part is Lot Coded |
internalRef |
Internal Lot Reference |
N |
Lot Code Reference. Only needed when the part is lot coded |
poNum |
Purchase order Number |
N |
Only needed if the part is lot coded. Not needed unless the part was received through purchasing |
transferredQuantity |
Quantity you are transferring |
Y |
|
reason |
Reason for Transfer |
Y |
Here are some examples 'ENGINEERING TESTING','PRODUCTION CALIBRATION','PRODUCTION TESTING','PROTOTYPE FOR RESALE','PROTOTYPE TO BE SCRAPPED','SPECIAL PROJECTS' . See below for how to add or change your reasons in your system settings. |
WoNo |
Work Order Number |
N |
Should remain empty unless created by KIT API |
TransRef |
Transaction Reference |
N |
User defined field. Transfer Reference |
toIPKEY |
Transfer to IPKEY |
N |
|
toMRB |
Transfer Items to MRB |
N |
Can be '1' or '0'. If '1' then parts will be transferred to MRB and no other warhouse information is required |
toWarehouse |
Warehouse where the items will be transferred to |
Y |
Selects which warehouse the items will be transferred to. Requires location if the warehouse has location information. |
toLocation |
Warehouse Location |
N |
Selects which location the items will be transferred into. Required if the warehouse has location information available |
toUniqWh |
Warehouse Unique Identifier |
N |
Can be used instead of toWarehouse |
toWhNo |
To Warehouse Number |
N |
Can be used instead of toWhNo |
toW_Key |
Warehouse Unique Identifier |
N |
Can be used in place of toWarehouse, toUniqWh, toWhNo |
​Example Strings
No Lot Code, no Serialization
URL-?part_sourc=BUY&uniq_key=UNIQKEY&fromW_Key=WKEY&transferredQuantity=1&toW_key=WKEY&reason=SPECIAL PROJECTS&transactionReference=test
JSON-
{
'part_sourc':'BUY',
'uniq_key':'UNIQKEY',
'fromW_Key':'WKEY',
'transferredQuantity':'1',
'toW_Key':'WKEY',
'reason':'SPECIAL PROJECTS'
}
OR
{
"Part_No":"partnumber",
"revision":"revision",
"PARTMFGR":"partmfgr",
"MFGR_PT_NO":"MFGRpartnumber",
"FromWarehouse":"Warehouse",
"FromLocation":"location",
"ToWarehouse":"Warehouse",
"ToLocation":"Location",
"TransferredQuantity":"quantity",
"Part_Sourc" :"BUY",
"Reason": "PRODUCTION TESTING"
}
Lot Code, no serialization
{
"Part_No":"Partnumber",
"revision":"revision",
"PARTMFGR":"PartMFGR",
"MFGR_PT_NO":"MFGRpartnumber",
"FromWarehouse":"warehouse",
"FromLocation":"location",
"ToWarehouse":"Warehouse",
"ToLocation":"location",
"TransferredQuantity":"Quantity",
"Part_Sourc" :"BUY",
"Reason": "PRODUCTION TESTING",
"lotcode":"Lot Code",
"Expdate":"Expdate",
"Reference":"Reference",
"Ponum":"POnumber"
}
Lot Code, Serialization
URL- ?Part_sourc=BUY&uniq_key=UNIQKEY&lotcode=LOTCODE&expDate=MM-DD-YYYY&serialNo=000000000000000000000000000001&fromW_Key=WKEY&toW_Key=WKEY&transferredQuantity=1&reason=PRODUCTION TESTING&transactionReference=REFERENCE
JSON-
{
'part_sourc':'BUY',
'uniq_key':'UNIQKEY',
'lotcode':'LOTCODE',
'expDate':'MM-DD-YYYY',
'serialNo':'000000000000000000000000000000',
'fromW_Key':'WKEY',
'toW_Key':'WKEY',
'transferredQty':'1',
'reason':'PRODUCTION TESTING',
'Reference':'REFERENCE'
}
Transfer to MRB
URL- ?Part_sourc=BUY&uniq_key=UNIQKEY&fromW_Key=WKEY&toMRB=1&transferredQuantity=10&reason=PROTOTYPE TO BE SCRAPPED&transactionreference=test
JSON-
{
'part_sourc':'BUY',
'uniq_key':'UNIQKEY',
'fromW_Key':'WKEY',
'toMRB':'1',
'transferredQty':'10',
'reason':'PROTOTYPE TO BE SCRAPPED',
'Reference':'test'
}
If successful each of the following should result in the following return:
{
"$id":"1",
"Code":200,
"Message":"Inventory transfer successfull.",
"SessionId":null,
"IsValidUser":true,
"ResponseObject":null
}
Common Errors
API Key Error
If there is an error with the API Key the system will return an error describing it.
{
"$id": "1",
"Code": 403,
"Message": "Invalid API Key.",
"SessionId": null,
"IsValidUser": false,
"ResponseObject": null
}
Incorrect Parameter
If an incorrect parameter value is used the system will return an error describing the incorrect parameter.
{
"$id": "1",
"Code": 403,
"Message": "Failed:Please provide valid GL_NBR.",
"SessionId": null,
"IsValidUser": true,
"ResponseObject": null
}
URL Error
If there is an error within the URL the system will return a HTTP error.
{
"$id": "1",
"Message": "No HTTP resource was found that matches the request URI 'http://localhost/api/InventoryHandling/Receiv/123456789'.",
"MessageDetail": "No action was found on the controller 'InventoryHandling' that matches the name 'Receiv'."
}
Here is an example of a transfer that went through successfully.
​Keep in mind that if you were to create a new location when transferring you need the following checked.
Inventory Control Management Module, the MFGR that you are creating the new location under, needs to have "Allow Auto Creating Location at Receiving" checked.
Under Sql Setting the warehouse you are receiving into also needs " Allow Auto Create Location at Receiving" checked.
Reason
You can change , add or edit your reason under the system settings. See below image.
|
1.3. Inventory Handling Issue API |
Functions
Issue API is used to issue parts from a warehouse
URL: {Root URL}​/API/InventoryHandling/Issue/{API Key}
Parameter |
Description |
Required |
Comment |
IPKEY |
The IPKEY is used to select a part |
N |
The IPKEY can be used as the main identifier for the part. If used other parameters will be used to validate the IPKEY |
serialNo |
Serial Number |
N |
Required if the part being issued is serialized |
serialUniq |
Serial Information |
N |
Alternative to serialNo |
part_sourc |
Part Source |
Y |
Can be 'BUY','MAKE',or 'CONSG' |
UNIQ_KEY |
Part Identification Key |
N |
Can be used to choose the product. |
part_no |
Part Number |
Y |
|
Revision |
Part's Revision Level |
N |
Required if the selected part has a revision level |
custPartNo |
Customer Part Number |
N |
Used if part source is 'CONSG' |
custRev |
Customer Part Revision Level |
N |
Used with custPartNo if the part has a revision level |
partMfgr |
Part Manufacturer |
N |
Used to specify which manufacturer the part will come from |
mfgr_pt_no |
Manufacturer's Part Number |
N |
Used to specify which manufacturer the part comes from |
uniqmfgrhd |
Manufacturer Part Unique Identifier |
N |
Used to specify which manufacturer the part comes from |
warehouse |
Warehouse Name |
Y |
Select which warehouse the part will be issued from |
location |
Warehouse Location |
N |
Choose the warehouse location the part will be issued from if there is one assigned |
uniqWh |
Warehouse ID Number |
N |
Can be used instead of warehouse |
W_Key |
Inventory Unique Identifier |
N |
Can be used to specify both warehouse and location |
lotCode |
Lot Code |
N |
Required if the selected part is lot coded |
expDate |
|
N |
Required if the part is lot coded. Use MM-DD-YYYY format |
reference |
Lot Reference |
N |
Can only be used if the part is lot coded |
poNum |
Purchase Order Number |
N |
Used only if there is lot code information. Not needed if the part was received through inventory handling |
issuedQuantity |
Issued Quantity |
Y |
Amount to be issued |
issueTo |
Where the part will be issued |
Y |
User Defined |
gl_nbr |
General Ledger Number for the Transaction |
Y |
Not required if the part source is 'CONSG' |
WoNo |
Work Order Number |
<n<>
</n<> |
Should remain empty unless created by KIT API |
reason |
Reason for Issue |
Y |
Can be 'INVENTORY ADJUSTMENTS', 'SCRAP', 'INSTORE ISSUES', 'RETURNS TO VENDORS FROM STOCK' |
transactionReference |
Transaction Reference |
N |
User Defined field |
inStorReturn |
|
|
|
deptKey |
Shop Floor Department Key |
N |
Used when issuing a part back to WIP from FGI |
actvKey |
Shop Floor Activity Key |
N |
Used when issuing a part back to WIP from FGI |
fk_userid |
User ID |
N |
|
Example Strings
Issue no lot code, no serialization.
URL- ?part_sourc=buy&uniqmfgrhd=UNIQMFGRHD&uniq_key=UNIQKEY&warehouse=WAREHOUSE&location=LOCATION&IssuedQuantity=1&issueTo=ISSUETO&gl_nbr=0000000-00-00
JSON-
{
'part_sourc':'BUY',
'uniqmfgrhd':'UNIQMFGRHD',
'uniq_key':'UNIQKEY',
'warehouse':'WAREHOUSE',
'location':'LOCATION',
'issuedQuantity':'1',
'issueTo':'ISSUETO',
'gl_nbr':'0000000-00-00'
}
Issue Serialized
URL-?part_sourc=buy&uniqmfgrhd=UNIQMFGRHD&uniq_key=UNIQKEY&serialNo=000000000000000000000000000000&warehouse=WAREHOUSE&location=LOCATION&IssuedQuantity=1&issueTo=ISSUETO&gl_nbr=0000000-00-00
JSON-
{
'part_sourc':'BUY',
'uniqmfgrhd':'UNIQMFGRHD',
'uniq_key':'UNIQKEY',
'serialNo':'000000000000000000000000000000',
'warehouse':'WAREHOUSE',
'location':'LOCATION',
'issuedQuantity':'1',
'issueTo':'ISSUETO',
'gl_nbr':'0000000-00-00'
}
Successful requests should return the following
{
"$id":"1",
"Code":200,
"Message":"Inventory added successfully.",
"SessionId":null,
"IsValidUser":true,
"ResponseObject":null
}
Issue lot code, no serialization.
Note: If record is lot coded the PONUM is an integral part of the LOT code. Since we will allow the user to enter the same lot code when receiving on a different PO. You need to provide the PONUM in the string or it will more than likely fail because the PONUM has not been provided as part of the Lot code information
{ "Gl_nbr":"1490000-00-00", "transactionReference":"PI Adjustment", "issuedQuantity":"5000", "issueTo":"PI Adjustment", "part_sourc":"Buy", "uniq_key":"_3WE0OVX9A", "uniqmfgrhd":"_3WE0OVX9F", "location":"53J-05", "warehouse":"STKRM1", "lotcode":"6733527", "Reference":"", "expdate":"01-22-2022", "ponum":"000000000129005", "reason":"Inventory Adjustment" }
Common Errors
API Key Error
If there is an error with the API key the system will return an error message describing a failed API key
{
"$id": "1",
"Code": 403,
"Message": "Invalid API Key.",
"SessionId": null,
"IsValidUser": false,
"ResponseObject": null
}
Incorrect Parameter
If an incorrect parameter value is used the system will return an error describing the incorrect parameter.
{
"$id": "1",
"Code": 403,
"Message": "Failed:Please provide valid GL_NBR.",
"SessionId": null,
"IsValidUser": true,
"ResponseObject": null
}
The GL_nbr parameter for the "issue" API has to be on the list for the Inventory Handling GL Defaults for 'Issue'.
URL Error
If there is an error within the URL the system will return a HTTP error.
{
"$id": "1",
"Message": "No HTTP resource was found that matches the request URI 'http://localhost/api/InventoryHandling/Receiv/123456789'.",
"MessageDetail": "No action was found on the controller 'InventoryHandling' that matches the name 'Receiv'."
}
|
|