====== Produmex WMS WebAPI Functions ====== ===== Overview ===== **The WMS Web API enables users to extend functionality without deeper knowledge of the codebase or the database structure. **\\ Expose WMS functionalities on a middle layer between Produmex objects and the applications using them. The value of this feature is making it possible to connect WMS with cloud platforms and the integration of third-party products like Kardex, Automated warehouse, Beas, etc. **Important:**\\ It is recommended that the Produmex WMS WebAPI be managed by experienced consultants or programmers with advanced developer knowledge.\\ ===== Functions ===== * **/api/wms/authentication/login** *Log in to the Web API * **/api/wms/authentication/logoutuser** *Log out from the Web API with login data * **/api/wms/authentication/logouttoken** *Log out from the Web API with token * **/api/wms/beasintegration/processbeasrequest** *Process a Beas request to generate PickList for a WorkOrder/Assembly * **/api/wms/cyclecount/directcyclecountstockrecord** *Direct cycle count stock record * **/api/wms/cyclecount/directcyclecountitemonlocation** *Direct cycle count item on location ***/api/wms/logisticunitid/generatenewlogisticunitsscc** *Generates new logistic unit with ID and SSCC ***/api/wms/logisticunitid/printluid** *Prints LUID ***/api/wms/move/changequalitystatus** *Changes quality status for inventory items ***/api/wms/move/changequalitypartialstockline** *Changes quality status for partial stock of inventory line ***/api/wms/move/changequalitypartialstocklinewithbasedoc** *Changes quality status for partial stock of inventory line with base doc ***/api/wms/move/movefullluid** *Moves full LUIDs * **/api/wms/move/movepartialstocklinewithbasedoc** *Moves partial stock line with base doc ***/api/wms/move/movepartialluidtolocation** *Moves partial LUID to location ***/api/wms/move/movepartialluidtolocationwithbasedoc** *Moves partial LUID to location with base doc ***/api/wms/move/movepartialitemtolocation** *Moves partial item to location ***/api/wms/move/movepartialitemtolocationwithbasedoc** *Moves partial item to location with base doc ***/api/wms/move/movepartialitemtoluid** *Moves partial item to luid ***/api/wms/move/makemovefrommoveorder** *Makes move from move order ***/api/wms/move/makemovefrommoveorderline** *Makes move from move order line ***/api/wms/moveorder/closemoveorder** *Closes a move order ***/api/wms/moveorder/closeallmoveorders** *Closes all move orders ***/api/wms/moveorder/getmoveorderheaders** *Gets move order headers ***/api/wms/moveorder/getmoveorderlines** *Gets move order lines ***/api/wms/moveorder/createmoveorder** *Creates move order * **/api/wms/picklist/closepicklist** *Closes a picklist * **/api/wms/picklist/closeallpicklists** *Closes all picklists * **/api/wms/picklist/generatepicklist** *Generates picklist * **/api/wms/picklist/generatepicklistwave** *Generates picklist wave * **/api/wms/picklist/makepicklistready** *Make a picklist to 'Ready' status * **/api/wms/picklist/setpicklistheaderinfo** *Set picklist header info * **/api/wms/picklist/pickbypicklistline** *Pick by picklist line * **/api/wms/picklist/pickbyitemcode** *Pick by item code * **/api/wms/picklist/skippickingbypicklistline** *Skip picking by picklist line * **/api/wms/picklist/setpicklistlineinfo** *Set picklist line info * **/api/wms/picklist/getpicklistheaderinfo** *Get picklist header info * **/api/wms/picklist/getpicklistlineinfo** *Get picklist line info * **/api/wms/picklistproposal/closepicklistproposal** *Closes a pickList proposal * **/api/wms/picklistproposal/closeallpicklistproposals** *Closes all picklist proposals * **/api/wms/picklistproposal/generatepicklistproposalsforsalesorders** *Generate picklist proposals for sales orders * **/api/wms/productionorder/closeproductionorder** *Closes a production order * **/api/wms/productionorder/closeallproductionorders** *Closes all production orders * **/api/wms/purchasedeliverynote/addpurchasedeliverynotelistoflogisticunits** * Adds purchase delivery note list of logistic units * **/api/wms/purchaseorder/closepurchaseorder** * Closes a purchase order * **/api/wms/purchaseorder/closeallpurchaseorders** * Closes all purchase orders * **/api/wms/salesorder/closesalesorder** * Closes a sales order * **/api/wms/salesorder/closeallsalesorders** * Closes all sales orders * **/api/wms/salesorder/addsalesorder** * Adds sales order * **/api/wms/salesorder/addorupdateinventorylocking** * Adds or updates inventory locking * **/api/wms/stocktransferrequest/closestocktransferrequest** * Closes a stock transfer request * **/api/wms/stocktransferrequest/closeallstocktransferrequests** * Closes all stock transfer requests ==== WebAPI Functions in detail ==== The standard parameters are not listed in the detailed descriptions. Here is a description of them:\\ The authentication functions have one standard parameter, the **Database**. In the case of all other functions, in addition to **Database**, the **Token** must also be specified as a standard parameter, the value of which is returned when the **Login** function is called.\\ There are functions that have no parameters other than the standard parameters (e.g. **GenerateNewLogisticUnitSscc , CloseAllMoveOrders**...).\\ If it is not highlighted whether the properties of the parameter class are required or optional, then all of its properties are required. Unnecessary parameters can be omitted from the JSON structure or given NULL values.\\ **LoginParams:** { "UserName": "string", "Password": "string" } **Response:** { "Result": { "Token": "string" }, "ResultType": 0, "ErrorMessage": "string" } The returned Token value is required for every WebAPI call. **LogoutUser** { "LoginData": { "UserName": "string", "Password": "string" } } **Response:** { "ResultType": 0, "ErrorMessage": "string" } **LogoutTokenParams:** { "Token": "string" } **Response:** { "ResultType": 0, "ErrorMessage": "string" } **ProcessBeasRequestParams:** { "MsgType": "string", "BeasDocEntry": 0 } Acceptable values ​​for the **MsgType** property: * "PLP" * "PLP+PL" * "PLP+PL+MR" **Response:** { "ResultType": 0, "ErrorMessage": "string" } **DirectCycleCountStockRecordParams:** { "ItemToCount": { "ItemCode": "string", "LocationCode": "string", "BestBeforeDate": "yyyy-mm-dd", "BatchNumber": "string", "SecondBatchNumber": "string", "CurrentStock": 0, "LogisticUnitIdentKey": 0, "CurrentStockUom2": 0, "ReasonInfo": { "ReasonCode": "string", "ReasonFreeText": "string", "ReasonLocationCode": "string" }, "QualityStatusCode": "string", "ListOfSerialNumbers": [ "string" ] } } **Required properties:** ItemCode, LocationCode, CurrentStock\\ **Response:** { "ResultType": 0, "ErrorMessage": "string" } **Limitation:** * Serial numbers are not supported (the response is an error containing the message: **"Serial numbers are not supported."**) * Catch weight items: *Weight tolerance is not considered, possible to add weight outside the tolerance *Not possible to update the weight only **DirectCycleCountItemOnLocationParams:** { "LocationCode": "string", "ItemCode": "string", "ItemsToCount": [ { "BestBeforeDate": "yyyy-mm-dd", "BatchNumber": "string", "SecondBatchNumber": "string", "CurrentStock": 0, "LogisticUnitIdentKey": 0, "CurrentStockUom2": 0, "ReasonInfo": { "ReasonCode": "string", "ReasonFreeText": "string", "ReasonLocationCode": "string" }, "ListOfSerialNumbers": [ "string" ] } ] } **Required properties:** ItemCode, LocationCode, CurrentStock\\ **Response:** { "ResultType": 0, "ErrorMessage": "string" } **Response:** { "Result": { "LogisticUnitID": { "ID": 0, "SSCC": "string" } }, "ResultType": 0, "ErrorMessage": "string" } **PrintLUIDParams:** { "ReportKey": 0, "PrinterCode": "string", "LUID": 0, "NumberOfCopies": 0 } **Response:** { "ResultType": 0, "ErrorMessage": "string" } **changeQualityStatusParams:** { "InventoryKeyCollection": [ 0 ], "NewQualityStatusCode": "string", "ReasonInfo": { "ReasonCode": "string", "ReasonFreeText": "string", "ReasonLocationCode": "string" } } **Required properties:** InventoryKeyCollection, NewQualityStatusCode\\ **Response:** { "ResultType": 0, "ErrorMessage": "string" } **ChangeQualityPartialStockLineParams:** { "InventoryKey": 0, "MoveItemInfoForChangeQualityPartialStockLine": { "Quantity": 0, "QuantityUom2": 0, "DestinationQualityStatus": "string", "ReasonInfo": { "ReasonCode": "string", "ReasonFreeText": "string", "ReasonLocationCode": "string" } } } **Required properties:** InventoryKey, Quantity, DestinationQualityStatus\\ **Response:** { "ResultType": 0, "ErrorMessage": "string" } **ChangeQualityPartialStockLineWithBaseDocParams:** { "InventoryKey": 0, "MoveItemInfoForChangeQualityPartialStockLineWithBaseDoc": { "BaseType": "string", "BaseEntry": 0, "BaseLine": 0, "Quantity": 0, "QuantityUom2": 0, "DestinationQualityStatus": "string", "ReasonInfo": { "ReasonCode": "string", "ReasonFreeText": "string", "ReasonLocationCode": "string" } }, "BeasLockInternalKey": 0 } **The required parameters from the above:**\\ * InventoryKey (to identify one of the row of PMX_INVT table) * Quantity (there may be decimal places) * DestinationQualityStatus * Set of values: `SELECT "Code" FROM "PMX_QYST"` * Basic rules for the changes: `SELECT * FROM "PMX_QSTT"` * There may be additional restrictions regarding storage location * BaseType * There are currently restrictions on the values ​​that this field can take. From a BEAS perspective, these can be the following strings (can be expanded upon request): * 2147483000 * wo * BEAS_MV * BEAS_QC * BaseEntry * BaseLine **Not required parameters:**\\ * QuantityUom2 (there may be decimal places) (depending on settings it may be required) * ReasonInfo (depending on settings it may be required) * BeasLockInternalKey * this parameter allows to specify what should happen to the Beas reservation in case of movement or QualityStatusChange * Note on the relationship between the new parameter BeasLockInternalKey (nullable integer) and the given quantity: * **BeasLockInternalKey = null** (to move the free stock or the part of the free stock) * `1 <= Quantity <= Free_Stock_Qty` * **BeasLockInternalKey <= 0** (to move ALL the Beas reservations and free stock) * `MAX(Sum_Beas_Lock_Qty, 1) <= Quantity <= Free_Stock_Qty + Sum_Beas_Lock_Qty` * **BeasLockInternalKey = INLD_InternalKey_i** (it identifies one of the row of PMX_INLD table) * `1 <= Quantity <= INLD_Beas_Locked_Qty_i` **MoveFullLuidParams:** { "LUID": 0, "DestinationLocationCode": "string", "MoveItemInfosForMoveFullLuid": [ { "ListOfSerialNumbers": [ "string" ], "ItemCode": "string", "ItemTransactionalInfoKey": 0 } ] } **Required properties:** LUID, DestinationLocationCode, ItemCode, ListOfSerialNumbers, ItemTransactionalInfoKey\\ **Response:** { "Result": { "Document": { "DocType": "string", "DocEntry": 0, "IsDraft": true } }, "ResultType": 0, "ErrorMessage": "string" } **MovePartialStockLineWithBaseDocParams** { "DestinationLocationCode": "string", "InventoryKey": 0, "MoveItemInfoForPartialStockLine": { "Quantity": 0, "QuantityUom2": 0, "DestinationLogisticUnitIdentKey": 0, "BaseType": "string", "BaseEntry": 0, "BaseLine": 0, "NewSSCC": true }, "BeasLockInternalKey": 0 } **The required parameters from the above:**\\ * InventoryKey (to identify one of the row of PMX_INVT table) * Quantity (there may be decimal places) * DestinationLocationCode * BaseType * There are currently restrictions on the values ​​that this field can take. From a BEAS perspective, these can be the following strings (can be expanded upon request): * 2147483000 * wo * BEAS_MV * BEAS_QC * BaseEntry * BaseLine **Not required parameters:**\\ * QuantityUom2 (there may be decimal places) (depending on settings it may be required) * NewSSCC * TRUE – generate new LUID/SSCC for the moved items * If not specified, the default value is: FALSE * BeasLockInternalKey * this parameter allows to specify what should happen to the Beas reservation in case of movement or QualityStatusChange * Note on the relationship between the new parameter BeasLockInternalKey (nullable integer) and the given quantity: ***BeasLockInternalKey = null** (to move the free stock or the part of the free stock) *`1 <= Quantity <= Free_Stock_Qty` ***BeasLockInternalKey <= 0** (to move ALL the Beas reservations and free stock) *`MAX(Sum_Beas_Lock_Qty, 1) <= Quantity <= Free_Stock_Qty + Sum_Beas_Lock_Qty` ***BeasLockInternalKey = INLD_InternalKey_i** (it identifies one of the row of PMX_INLD table) *`1 <= Quantity <= INLD_Beas_Locked_Qty_i` **Response:** { "Result": { "Document": { "DocType": "string", "DocEntry": 0, "IsDraft": true } }, "ResultType": 0, "ErrorMessage": "string" } **MovePartialLuidToLocationParams:** { "DestinationLocationCode": "string", "MoveItemInfoForMovePartialLuidToLocation": { "ListOfSerialNumbers": [ "string" ], "ItemCode": "string", "ItemTransactionalInfoKey": 0, "Quantity": 0, "SourceQualityStatusCode": "string", "DestinationQualityStatusCode": "string", "SourceLogisticUnitIdentKey": 0, "NewSSCC": true, "QuantityUom2": 0 } } **Required properties:** DestinationLocationCode, Quantity, SourceLogisticUnitIdentKey\\ **Response:** { "Result": { "Document": { "DocType": "string", "DocEntry": 0, "IsDraft": true } }, "ResultType": 0, "ErrorMessage": "string" } **MovePartialLuidToLocationWithBaseDocParams:** { "DestinationLocationCode": "string", "MoveItemInfosForMovePartialLuidToLocationWithBaseDoc": { "BaseType": "string", "BaseEntry": 0, "BaseLine": 0, "ListOfSerialNumbers": [ "string" ], "ItemCode": "string", "ItemTransactionalInfoKey": 0, "Quantity": 0, "SourceQualityStatusCode": "string", "DestinationQualityStatusCode": "string", "SourceLogisticUnitIdentKey": 0, "NewSSCC": true, "QuantityUom2": 0 } } **Required properties:** DestinationLocationCode, Quantity, SourceLogisticUnitIdentKey\\ **Response:** { "Result": { "Document": { "DocType": "string", "DocEntry": 0, "IsDraft": true } }, "ResultType": 0, "ErrorMessage": "string" } **MovePartialItemToLocationParams:** { "DestinationLocationCode": "string", "MoveItemInfoForMovePartialItemToLocation": { "ListOfSerialNumbers": [ "string" ], "ItemCode": "string", "ItemTransactionalInfoKey": 0, "Quantity": 0, "QuantityUom2": 0, "SourceLocationCode": "string", "SourceQualityStatusCode": "string", "DestinationQualityStatusCode": "string", "SourceLogisticUnitIdentKey": 0, "NewSSCC": true } } **Required properties:** DestinationLocationCode, ItemCode, Quantity, SourceLocationCode\\ **Response:** { "Result": { "Document": { "DocType": "string", "DocEntry": 0, "IsDraft": true } }, "ResultType": 0, "ErrorMessage": "string" } **MovePartialItemToLocationWithBaseDocParams:** { "DestinationLocationCode": "string", "MoveItemInfoForMovePartialItemToLocationWithBaseDoc": { "BaseType": "string", "BaseEntry": 0, "BaseLine": 0, "ListOfSerialNumbers": [ "string" ], "ItemCode": "string", "ItemTransactionalInfoKey": 0, "Quantity": 0, "QuantityUom2": 0, "SourceLocationCode": "string", "SourceQualityStatusCode": "string", "DestinationQualityStatusCode": "string", "SourceLogisticUnitIdentKey": 0, "NewSSCC": true } } **Required properties:** DestinationLocationCode, ItemCode, Quantity, SourceLocationCode\\ **Response:** { "Result": { "Document": { "DocType": "string", "DocEntry": 0, "IsDraft": true } }, "ResultType": 0, "ErrorMessage": "string" } **MovePartialItemToLuidParams:** { "DestinationLogisticUnitIdentKey": 0, "MoveItemInfoForMovePartialItemToLuid": { "ListOfSerialNumbers": [ "string" ], "ItemCode": "string", "ItemTransactionalInfoKey": 0, "Quantity": 0, "QuantityUom2": 0, "SourceLocationCode": "string", "SourceQualityStatusCode": "string", "DestinationQualityStatusCode": "string", "SourceLogisticUnitIdentKey": 0 } } **Required properties:** DestinationLogisticUnitIdentKey, ItemCode, Quantity, QuantityUom2, SourceLocationCode\\ **Response:** { "Result": { "Document": { "DocType": "string", "DocEntry": 0, "IsDraft": true } }, "ResultType": 0, "ErrorMessage": "string" } **MakeMoveFromMoveOrderParams:** { "MoveOrderDocEntry": 0, "DestinationLUID": 0, "DestinationLocationCode": "string", "ReasonInfo": { "ReasonCode": "string", "ReasonFreeText": "string", "ReasonLocationCode": "string" } } **Required properties:** MoveOrderDocEntry\\ **Response:** { "ResultType": 0, "ErrorMessage": "string" } **MakeMoveFromMoveOrderLineParams:** { "MoveOrderDocEntry": 0, "MoveOrderLineNum": 0, "Quantity": 0, "QuantityUom2": 0, "DestinationLUID": 0, "DestinationLocationCode": "string", "ReasonInfo": { "ReasonCode": "string", "ReasonFreeText": "string", "ReasonLocationCode": "string" } } **Required properties:** MoveOrderDocEntry, MoveOrderLineNum\\ **Response:** { "ResultType": 0, "ErrorMessage": "string" } **CloseMoveOrderParams:** { "DocEntry": 0 } **Response:** { "ResultType": 0, "ErrorMessage": "string" } **Response:** { "ResultType": 0, "ErrorMessage": "string" } **GetMoveOrderHeadersParams:** { "MoveOrderFilter": { "DocEntry": 0, "MoveOrderStatus": "NothingMoved", "DueDate": "yyyy-mm-dd", "Priority": 0, "MoveOrderType": "Move", "MoveLogUnitIn1Time": "Invalid", "LockedBy": 0, "FromPmxWhsCode": "string", "ToPmxWhsCode": "string", "Remarks": "string", "DocStatus": "Open", "Canceled": true, "UserSign": 0 }, "Offset": 0, "Limit": 0 } **Required properties:** The MoveOrderFilter itself is mandatory, but its properties are not.\\ **Response:** { "Result": { "MoveOrders": [ { "DocEntry": 0, "MoveOrderStatus": "NothingMoved", "DueDate": "yyyy-mm-dd", "Priority": 0, "MoveOrderType": "Move", "MoveLogUnitIn1Time": "Invalid", "LockedBy": 0, "FromPmxWhsCode": "string", "ToPmxWhsCode": "string", "Remarks": "string", "DocStatus": "Open", "Canceled": true, "UserSign": 0, "Version": "string" } ] }, "ResultType": 0, "ErrorMessage": "string" } **GetMoveOrderLinesParams:** { "MoveOrderLineFilter": { "DocEntry": 0, "LineNum": 0, "MoveOrderLineStatus": "NothingMoved", "SourceLogisticUnitIdentKey": 0, "SourceMasterLogisticUnitIdentKey": 0, "DestinationLogisticUnitIdentKey": 0, "SourceStorageLocationCode": "string", "QualityStatusCode": "string", "DestinationStorageLocationCode": "string", "OpenQuantity": 0, "OpenQuantityUom2": 0, "ItemDescription": "string", "ItemTransactionalInfoKey": 0, "StockLevel": "Detail", "WaBoxCode": "string", "LineStatus": "Open", "BaseType": "string", "BaseEntry": 0, "BaseLine": 0, "ItemCode": "string", "Quantity": 0, "Uom": "string", "QuantityPerUom": 0, "Uom2": "string", "QuantityUom2": 0 }, "Offset": 0, "Limit": 0 } **Required properties:** The MoveOrderLineFilter itself is mandatory, but its properties are not.\\ **Response:** { "Result": { "MoveOrderLines": [ { "DocEntry": 0, "LineNum": 0, "MoveOrderLineStatus": "NothingMoved", "SourceLogisticUnitIdentKey": 0, "SourceMasterLogisticUnitIdentKey": 0, "DestinationLogisticUnitIdentKey": 0, "SourceStorageLocationCode": "string", "QualityStatusCode": "string", "DestinationStorageLocationCode": "string", "OpenQuantity": 0, "OpenQuantityUom2": 0, "ItemDescription": "string", "ItemTransactionalInfoKey": 0, "StockLevel": "Detail", "WaBoxCode": "string", "LineStatus": "Open", "BaseType": "string", "BaseEntry": 0, "BaseLine": 0, "ItemCode": "string", "Quantity": 0, "Uom": "string", "QuantityPerUom": 0, "Uom2": "string", "QuantityUom2": 0, "Version": "string" } ] }, "ResultType": 0, "ErrorMessage": "string" } **CreateMoveOrderParams:** { "Lines": [ { "SourceLogisticUnitIdentKey": 0, "DestinationLogisticUnitIdentKey": 0, "SourceStorageLocationCode": "string", "QualityStatusCode": "string", "DestinationStorageLocationCode": "string", "ItemCode": "string", "Quantity": 0, "ListOfSerialNumbers": [ "string" ], "BatchNumber": "string", "BatchNumber2": "string", "BestBeforeDate": "yyyy-mm-dd", "StockLevel": "Detail", "Uom": "string", "Uom2": "string" } ], "DueDate": "yyyy-mm-dd", "FromPmxWhsCode": "string", "ToPmxWhsCode": "string", "Remarks": "string", "MoveLogUnitIn1Time": "Invalid" } **Required properties:** ItemCode, Quantity, DueDate, FromPmxWhsCode, ToPmxWhsCode\\ **Response:** { "Result": { "DocEntry": 0 }, "ResultType": 0, "ErrorMessage": "string" } **ClosePickListParams:** { "DocEntry": 0 } **Response:** ` ` **Response:** { "ResultType": 0, "ErrorMessage": "string" } **GeneratePickListParams:** { "PickListProposalEntry": 0 } **Response: ** { "Result": { "DocEntry": 0 }, "ResultType": 0, "ErrorMessage": "string" } **GeneratePickListWaveParams:** { "ListOfProposals": [ 0 ] } **Response:** { "Result": { "DocEntries": [ 0 ] }, "ResultType": 0, "ErrorMessage": "string" } **MakePickListReadyParams:** { "DocEntry": 0 } **Response:** { "ResultType": 0, "ErrorMessage": "string" } **SetPickListHeaderInfoParams:** { "PickListIdentification": { "DocEntry": 0, "Version": "string" }, "ChangePickListData": { "DestinationStorageLocationCode": "string", "PickPackRemarks": "string" } } **Required properties:** Properties DestinationStorageLocationCode and PickPackRemarks can be omitted, but only one of them. The other properties are required.\\ The value of the **Version** property can be obtained from the result of the **GetPicklistHeaderInfo** query function.\\ **Response:** { "ResultType": 0, "ErrorMessage": "string" } **PickByPickListLineParams:** { "DocEntryAndLineNum": { "DocEntry": 0, "LineNum": 0, "Version": "string" }, "PickingData": { "QtyPicked": 0, "QtyPickedUom2": 0, "ListOfPickedSerialNumbers": [ "string" ], "TargetLUID": 0, "TargetMoveableLocation": "string", "LogisticCarrierCode": "string" } } **Required properties:** DocEntry, LineNum, Version, QtyPicked\\ The value of the **Version** property can be obtained from the result of the **GetPicklistLineInfo** query function.\\ **Response:** { "ResultType": 0, "ErrorMessage": "string" } **PickByItemCodeParams:** { "DetailedLineIdentification": { "DocEntry": 0, "ItemCode": "string", "StorLocCode": "string", "LogisticUnitID": 0, "SSCC": "string", "ItemTransactionalInfoKey": 0, "BatchNumber": "string", "BestBeforeDate": "yyyy-mm-dd", "QualityStatusCode": "string" }, "PickingData": { "QtyPicked": 0, "QtyPickedUom2": 0, "ListOfPickedSerialNumbers": [ "string" ], "TargetLUID": 0, "TargetMoveableLocation": "string", "LogisticCarrierCode": "string" } } **Required properties:** DocEntry, ItemCode, QtyPicked\\ **Response:** { "ResultType": 0, "ErrorMessage": "string" } **SkipPickingByPickListLineParams:** { "DocEntryAndLineNum": { "DocEntry": 0, "LineNum": 0, "Version": "string" }, "ReasonInfo": { "ReasonCode": "string", "ReasonFreeText": "string", "ReasonLocationCode": "string" } } **Required properties:** DocEntry, LineNum, Version\\ The value of the **Version** property can be obtained from the result of the **GetPicklistLineInfo** query function.\\ **Response:** { "ResultType": 0, "ErrorMessage": "string" } **SetPickListLineInfoParams:** { "DocEntryAndLineNum": { "DocEntry": 0, "LineNum": 0, "Version": "string" }, "ChangePickListLineInfo": { "SentToWAS": true } } **Required properties:** DocEntry, LineNum, Version, SentToWAS\\ The value of the **Version** property can be obtained from the result of the **GetPicklistLineInfo** query function.\\ **Response:** { "ResultType": 0, "ErrorMessage": "string" } **GetPickListHeaderInfoParams:** { "PickListFilter": { "DocEntry": 0, "DocStatus": "Open", "CardCode": "string", "Priority": 0, "DestStorLocCode": "string", "PickListStatus": "NotReady", "WaveKey": 0, "PickListType": "string" }, "Offset": 0, "Limit": 0 } **Required properties:** The PickListFilter itself is mandatory, but its properties are not.\\ **Response:** { "Result": { "PickLists": [ { "DocEntry": 0, "WaveKey": 0, "PickListType": "string", "Priority": 0, "DocStatus": "Open", "PickListStatus": "NotReady", "CardCode": "string", "ShipToCode": "string", "DestStorLocCode": "string", "PickPackRemarks": "string", "Version": "string" } ] }, "ResultType": 0, "ErrorMessage": "string" } **GetPickListLineInfoParams:** { "PickListLineFilter": { "DocEntry": 0, "LineNum": 0, "LineStatus": "Open", "ItemCode": "string", "StorLocCode": "string", "LogUnitIdentKey": 0, "SSCC": "string", "QualityStatusCode": "string", "PickListLineStatus": "NotReady", "ItemTransactionalInfoKey": 0, "BatchNumber": "string" }, "Offset": 0, "Limit": 0 } **Required properties:** DocEntry\\ **Response:** { "Result": { "PickListLines": [ { "DocEntry": 0, "LineNum": 0, "LineStatus": "Open", "PickListLineStatus": "NotReady", "ItemCode": "string", "StorLocCode": "string", "QualityStatusCode": "string", "LogUnitIdentKey": 0, "SSCC": "string", "ItemTransactionalInfoKey": 0, "BatchNumber": "string", "BestBeforeDate": "yyyy-mm-dd", "Quantity": 0, "OpenQty": 0, "QtyPicked": 0, "QtyPacked": 0, "Uom": "string", "QuantityPerUom": 0, "QuantityUom2": 0, "OpenQtyUom2": 0, "QtyPickedUom2": 0, "QtyPackedUom2": 0, "Uom2": "string", "SentToWAS": true, "Version": "string" } ] }, "ResultType": 0, "ErrorMessage": "string" } **ClosePickListProposalParams:** { "DocEntry": 0 } **Response:** { "ResultType": 0, "ErrorMessage": "string" } **Response:** { "ResultType": 0, "ErrorMessage": "string" } **GeneratePickListProposalsForSalesOrdersParams:** { "SalesOrderDocEntries": [ { "DocType": "string", "DocEntry": 0, "IsDraft": true } ], "SalesOrderDocLines": [ { "DocType": "string", "DocEntry": 0, "LineNum": 0, "InventoryQuantity": 0 } ], "Warehouse": "string", "LoadingDock": "string", "SalesDocumentsInError": [ { "DocType": "string", "DocEntry": 0, "IsDraft": true } ] } **Required properties:** SalesOrderDocEntries(DocType, DocEntry, IsDraft), Warehouse\\ The SalesOrderDocLines array is not required, but if given, then DocType, DocEntry, LineNum are required.\\ **Response:** { "Result": { "DocEntries": [ 0 ] }, "ResultType": 0, "ErrorMessage": "string" } **CloseProductionOrderParams:** { "DocEntry": 0 } **Response:** { "ResultType": 0, "ErrorMessage": "string" } **Response:** { "ResultType": 0, "ErrorMessage": "string" } **AddPurchaseDeliveryNoteListOfLogisticUnitsParams:** { "CardCode": "string", "FolioNumbering": { "POINumber": "string", "FolioNumberFrom": 0, "FolioNumberTo": 0 }, "StorageLocationCode": "string", "LogisticUnits": [ { "LogisticUnitId": 0, "MasterLUID": 0, "SSCC": "string", "SupplierPalletNumber": "string", "ItemsOnLogisticUnit": [ { "ListOfSerialNumbers": [ "string" ], "AutoSelectPO": true, "FullListOfPackagingTypes": [ { "PackagingTypeCode": "string", "PackagingTypeName": "string", "Barcode": [ "string" ], "Quantity": 0, "QuantityPerPack": 0, "InitialQuantity": 0, "ShowOnScreen": true, "NumberOfDecimals": 0, "HideDuringEnteringQuantity": true } ], "ReasonInfo": { "ReasonCode": "string", "ReasonFreeText": "string", "ReasonLocationCode": "string" }, "UnitPrice": 0, "IsLogisticCarrierForLogisticUnit": true, "IsLogisticCarrier": true, "ItemCode": "string", "BestBeforeDate": "yyyy-mm-dd", "BatchNumber1": "string", "BatchNumber2": "string", "Quantity": 0, "PurchaseDocRef": { "DocType": "string", "DocEntry": 0, "IsDraft": true }, "PurchaseDocumentLineNum": 0, "QuantityUom2": 0, "QuantitiesForUom2": [ 0 ], "Uom2": "string", "ListOfPackagingTypes": [ { "ItemCode": "string", "PackagingTypeCode": "string", "Quantity": 0, "ItriKey": 0 } ], "ListOfBatchAttributes": [ { "ItemCode": "string", "BatchAttributeCode": "string", "ValueConvertor": "string", "AttributeValue": "string", "ItriKey": 0, "InternalKey": 0, "IsLinkedToBatch": true, "CheckForExisting": true } ], "QuantityPerUom": 0, "OverrideLocationCode": "string", "ListOfReasonsByZoneType": {}, "Usage": "string", "BeasItemVersion": "string" } ], "SpecificLocationCode": "string", "IsMoveToLockedStockLocation": true, "AllowReceptionWithoutLUID": true, "Reason": { "ReasonCode": "string", "ReasonFreeText": "string", "ReasonLocationCode": "string" }, "UnitPrice": 0 } ], "SupplierRef": "string", "ContainerDocEntry": 0, "ListOfQualityValueInfos": [ { "MomentOfCapture": "Start", "QualityValueInfos": [ { "QualityTypeCode": "string", "ValueConvertor": "string", "QualityValue": "string", "InternalKey": 0, "MomentOfCapture": "Start", "BaseType": "string" } ] } ], "ReserveInvoicesAreAllowed": true } **Required properties:** StorageLocationCode, ItemCode, PackagingTypeCode, Quantity, ListOfBatchAttributes\\ **Response:** { "Result": { "CreatedDeliveries": [ { "DocType": "string", "DocEntry": 0, "IsDraft": true } ], "ListOfLUIDs": [ 0 ] }, "ResultType": 0, "ErrorMessage": "string" } **ClosePurchaseOrderParams:** { "DocEntry": 0 } **Response:** { "ResultType": 0, "ErrorMessage": "string" } **Response:** { "ResultType": 0, "ErrorMessage": "string" } **CloseSalesOrderParams:** { "DocEntry": 0 } **Response:** { "ResultType": 0, "ErrorMessage": "string" } **Response:** { "ResultType": 0, "ErrorMessage": "string" } **AddSalesOrderParams:** { "DocDate": "yyyy-mm-dd", "DocDueDate": "yyyy-mm-dd", "CardCode": "string", "FederalTaxID": "string", "NumAtCard": "string", "TransportCode": 0, "AllowMultipleDeliveries": true, "Comments": "string", "PickPackRemarks": "string", "PaymentTerms": "string", "ManagedBP": true, "ContactPersonCode": 0, "LanguageShortName": "string", "DocCurrency": "string", "ShipTo": { "CardCode": "string", "CardName": "string", "AddressType": "string", "ContactName": "string", "Street": "string", "City": "string", "PostalCode": "string", "CountryCode": "string", "Address": "string", "GLN": "string" }, "BillTo": { "CardCode": "string", "CardName": "string", "AddressType": "string", "ContactName": "string", "Street": "string", "City": "string", "PostalCode": "string", "CountryCode": "string", "Address": "string", "GLN": "string" }, "UserFields": [ { "Name": "string", "Value": {} } ], "Lines": [ { "LineNr": 0, "ItemCode": "string", "ItemDescr": "string", "Quantity": 0, "Uom": "string", "UnitPrice": 0, "VatCode": "string", "VatPct": 0, "DiscPct": 0, "WarehouseCode": "string", "BatchNumber": "string", "BestBeforeDate": "yyyy-mm-dd", "ShippingMethod": 0, "FreeText": "string", "SerialNumbers": [ "string" ], "UserFields": [ { "Name": "string", "Value": {} } ] } ] } **Required properties:** DocDueDate, CardCode, Lines (ItemCode, Quantity, SerialNumbers, UserFields), UserFields\\ **Response:** { "DocEntry": 0 } **AddOrUpdateInventoryLockingParams:** { "Qty": 0, "LockInternalKey": 0, "LockLevel": 0, "SalesOrderDocEntry": 0, "SalesInvoiceDocEntry": 0, "CardCodeParameter": "string", "ItemCode": "string", "Luid": 0, "LocationCode": "string", "QualityStatusCode": "string", "PmxWhsCode": "string", "ItriKey": 0, "BaseType": "string" } **Required properties:** Qty, CardCodeParameter, ItemCode\\ **Response:** { "Result": { "Error": "string" }, "ResultType": 0, "ErrorMessage": "string" } **CloseStockTransferRequestParams:** { "DocEntry": 0 } **Response:** { "ResultType": 0, "ErrorMessage": "string" } **Response:** { "ResultType": 0, "ErrorMessage": "string" } ===== Enums ===== |ResultTypeEnum|Value| |Success|0| |Error|1| |DocumentStatus|Value|Description| |Open|1|The document is open and properties can be changed| |Closed|2|The document is closed. Nothing can be changed on the document| |DocumentLineStatus|Value|Description| |Open|1|The document line is open and properties can be changed| |Closed|2|The document line is closed. Nothing can be changed on the document line| |MoveOrderStockLevel|Value|Description| |Detail|1|| |Item|2|| |MasterLuid|4|| |MoveOrderStatus|Value|Description| |NothingMoved|1|| |Closed|2|| |PartiallyMoved|4|| |MoveOrderType|Value|Description| |Move|1|| |PutAway|2|| |Replenish|4|| |WarehouseTransfer|8|| |PutAwayProduction|12|| |MoveInOneTime|Value|Description| |Invalid|0|| |CannotBeMovedInOneTime|1|| |CanBeInOneTime|2|| |MustBeMovedInOneTime|4|| |PickListStatus|Value|Description| |NotReady|1|Not all data is filled in and picking can not start| |Closed|2|All items are delivered| |PartiallyReady|4|All data of some line is filled in and the picking can start| |Ready|8|All data is filled in and the picking can start| |PartiallyPicked|16|Items are partially picked| |Picked|32|Items are picked| |PartiallyDelivered|64|Items are partially delivered| |PartiallyPacked|128|Items are partially packed| |Packed|256|Items are packed| |ForcedClosed|512|The picklist has been forced to be closed| |PartiallyShipped|1024|Items are partially packed| |Shipped|2048|Items are packed|