Megaventory API v2017a

<back to all web services

DocumentUpdate

The following routes are available for this service:
POST/Document/DocumentUpdateInserts a document or updates an existing one.Uses your API Key and applies a mvRecordAction value on an mvDocument object. We can insert the mvDocument object we specified using "Insert" as our mvRecordAction. We can update a current document using "Update", we can insert if a document it doesn't already exist, update a document if it does using "InsertOrUpdate" and we can insert new fields or update non-empty fields of the document using "InsertOrUpdateNonEmptyFields". Optionally, you can use mvInsertUpdateDeleteSourceApplication when an external application ( eg Magento ) is the one that triggers the DocumentUpdate call. Only the DocumentDescription can be changed during the update.

AutoInsertBatchNumbersToProductRows: this field is used to automatically attach batch numbers to the material that is being allocated, depending on the order that you have selected (e.g. if you want to attach first the batch numbers that have the closest expiry date, give this field the value ByExpiryDate).

Examples:



A.

Inserts a Document of type Goods Inbound (can be seen from the document type id = -2 field)

Value:

{
   "mvDocument": {
      "DocumentTypeId": -2,
      "DocumentSupplierClientID": 5357,
      "DocumentDetails": [
         {
            "DocumentRowProductSKU": "serialized",
            "DocumentRowProductDescription": "serialized",
            "DocumentRowQuantity": 2,
            "DocumentRowUnitPriceWithoutTaxOrDiscount": 0,
            "DocumentRowTaxID": 0,
            "DocumentTotalTaxAmount": 0,
            "DocumentRowDiscountID": 0,
            "DocumentRowTotalDiscountAmount": 0,
            "DocumentRowTotalAmount": 0,
            "DocumentRowRemarks": ""
         }
      ],
      "DocumentStatus": "Pending"
    },
    "mvRecordAction": "Insert"
}


Response:

{
   "mvDocument": {
      "DocumentId": 49431,
      "DocumentTypeId": -2,
      "DocumentTypeAbbreviation": "",
      "DocumentTypeDescription": "",
      "DocumentNo": "---",
      "DocumentDate": "/Date(1531774800000+0300)/",
      "DocumentCustomOrderDate1": "/Date(-62135596800000-0000)/",
      "DocumentCustomOrderDate2": "/Date(-62135596800000-0000)/",
      "DocumentCurrencyCode": "USD",
      "DocumentSupplierClientID": 5357,
      "DocumentBillingAddress": "",
      "DocumentAddress": "",
      "DocumentContactPerson": "",
      "DocumentInventoryLocationID": 0,
      "DocumentCustomFlag1": false,
      "DocumentCustomFlag2": false,
      "DocumentCustomFlag3": false,
      "DocumentCustomFlag4": false,
      "DocumentCustomFlag5": false,
      "DocumentCustomFlag6": false,
      "DocumentCustomFlag7": false,
      "DocumentCustomFlag8": false,
      "DocumentCustomFlag9": false,
      "DocumentCustomFlag10": false,
      "DocumentShippingProviderID": 0,
      "DocumentTrackingID": "0",
      "DocumentComments": "",
      "DocumentPaymentTermsEnumeration": "",
      "DocumentTags": "",
      "DocumentPaymentTermsEnumeration": "None",
      "DocumentParentDocId": 0,
      "DocumentTotalQuantity": 2,
      "DocumentAmountSubtotalWithoutTaxAndDiscount": 0,
      "DocumentAmountShipping": 0,
      "DocumentAmountTotalDiscount": 0,
      "DocumentAmountTotalTax": 0,
      "DocumentAmountGrandTotal": 0,
      "DocumentDetails": [
         {
            "DocumentRowDetailID": 76504,
            "DocumentRowProductID": 60424,
            "DocumentRowProductSKU": "serialized",
            "DocumentRowProductDescription": "serialized",
            "DocumentRowQuantity": 2,
            "DocumentRowUnitPriceWithoutTaxOrDiscount": 0,
            "DocumentRowTaxID": 0,
            "DocumentTotalTaxAmount": 0,
            "DocumentRowDiscountID": 0,
            "DocumentRowTotalDiscountAmount": 0,
            "DocumentRowTotalAmount": 0,
            "DocumentRowSerialNumbers": [],
            "DocumentRowBatchNumbers": [],
            "DocumentRowRemarks": ""
         }
      ],
      "DocumentStatus": "Pending",
      "DocumentCreationDate": "/Date(-62135596800000-0000)/",
      "DocumentLastUpdatedDate": "/Date(-62135596800000-0000)/"
   },
   "ResponseStatus": {
      "ErrorCode": "0"
   },
   "entityID": 49431
}

B.



Try adding a Document referring to a non existent product

Value:

{
   "mvDocument": {
      "DocumentTypeId": -2,
      "DocumentSupplierClientID": 5357,
      "DocumentDetails": [
         {
            "DocumentRowProductSKU": "Bananas",
            "DocumentRowProductDescription": "serialized",
            "DocumentRowQuantity": 2,
            "DocumentRowUnitPriceWithoutTaxOrDiscount": 0,
            "DocumentRowTaxID": 0,
            "DocumentTotalTaxAmount": 0,
            "DocumentRowDiscountID": 0,
            "DocumentRowTotalDiscountAmount": 0,
            "DocumentRowTotalAmount": 0,
            "DocumentRowRemarks": ""
         }
      ],
      "DocumentStatus": "Pending"
    },
    "mvRecordAction": "Insert"
}


Response:

{
   "ResponseStatus": {
      "ErrorCode": "500",
      "Message": "The product with DocumentRowProductSKU [Bananas] does not exist. Document Insert Failed"
   },
   "entityID": 0,
   "InternalErrorCode": ""
}

To override the Content-type in your clients HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /jsv/reply/DocumentUpdate HTTP/1.1 
Host: api.megaventory.com 
Content-Type: text/jsv
Content-Length: length

{
	APIKEY: String,
	mvDocument: 
	{
		DocumentId: 0,
		DocumentTypeId: 0,
		DocumentTypeAbbreviation: String,
		DocumentTypeDescription: String,
		DocumentNo: String,
		DocumentReferenceNo: String,
		DocumentReferenceApplication: String,
		DocumentDate: 0001-01-01,
		DocumentCustomOrderDate1: 0001-01-01,
		DocumentCustomOrderDate2: 0001-01-01,
		DocumentCurrencyCode: String,
		DocumentSupplierClientID: 0,
		DocumentSupplierClientName: String,
		DocumentBillingAddress: String,
		DocumentAddress: String,
		DocumentAddresses: 
		[
			{
				AddressType: General,
				AddressLine1: String,
				AddressLine2: String,
				AddressLine3: String,
				Name: String,
				Phone: String,
				Email: String,
				TaxIdNumber: String,
				Organization: String,
				City: String,
				State: String,
				Country: NONE,
				CountryName: String,
				Longitude: String,
				Latitude: String,
				ZipCode: String
			}
		],
		DocumentContactPerson: String,
		DocumentInventoryLocationID: 0,
		DocumentCustomFlag1: False,
		DocumentCustomFlag6: False,
		DocumentCustomFlag2: False,
		DocumentCustomFlag7: False,
		DocumentCustomFlag3: False,
		DocumentCustomFlag8: False,
		DocumentCustomFlag4: False,
		DocumentCustomFlag9: False,
		DocumentCustomFlag5: False,
		DocumentCustomFlag10: False,
		DocumentShippingProviderID: 0,
		DocumentTrackingID: String,
		DocumentShippingInfo: 
		{
			ProviderInfo: 
			{
				ProviderId: 0,
				ServiceId: String,
				PackageId: String
			},
			CostInfo: 
			{
				ShippingCost: 0,
				OtherCosts: 0,
				TotalCost: 0
			},
			WeightInfo: 
			{
				Weight: 0,
				WeightUnitId: 0
			},
			ShipDateInfo: 
			{
				ShipDate: String
			},
			GenericAftersalesProServicesInfo: 
			{
				COD: False,
				GTEEC: False,
				Protocol: False,
				Reception: False,
				Insurance: False,
				ChequeCod: False,
				SpecialRate: False,
				VipDelivery: False,
				SenderCharge: False,
				PackageReturn: False,
				ReturnDocument: False,
				CodTotalInCents: 0,
				MorningDelivery: False,
				SameDayIntracity: False,
				SaturdayDelivery: False,
				SeaFreightCyprus: False,
				RefrigeratedGoods: False,
				LessThanTwoKilograms: False,
				LessThanFourKilograms: False,
				SubmissionOfTenderDocuments: False,
				NextDayAirTransportToIslands: False,
				ContainsDocumentsOnlyAndIsLessThanTwoKilograms: False
			},
			TrackingId: String,
			LockerId: 0
		},
		DocumentComments: String,
		DocumentTags: String,
		DocumentPaymentTermsEnumeration: None,
		DocumentPaymentMethod: None,
		DocumentParentDocId: 0,
		DocumentHandlingDocId: 0,
		DocumentTotalQuantity: 0,
		DocumentAmountSubtotalWithoutTaxAndDiscount: 0.00,
		DocumentAmountShipping: 0.00,
		DocumentAmountTotalDiscount: 0.00,
		DocumentAmountTotalTax: 0.00,
		DocumentAmountGrandTotal: 0.00,
		DocumentTotalWeight: 0,
		DocumentTotalWeightUnitID: 0,
		DocumentDetails: 
		[
			{
				DocumentRowDetailID: 0,
				DocumentRowProductID: 0,
				DocumentRowProductSKU: String,
				DocumentRowProductDescription: String,
				DocumentRowQuantity: 0,
				DocumentRowUnitPriceWithoutTaxOrDiscount: 0.00,
				DocumentRowTaxID: 0,
				DocumentTotalTaxAmount: 0.00,
				DocumentRowDiscountID: 0,
				DocumentRowTotalDiscountAmount: 0.00,
				DocumentRowTotalAmount: 0.00,
				DocumentRowSerialNumbers: 
				[
					String
				],
				DocumentRowBatchNumbers: 
				[
					{
						BatchNumberName: String,
						ExpiryDate: 0001-01-01,
						AssignedQTYInDetail: 0
					}
				],
				DocumentRowRemarks: String,
				DocumentRowTotalWeight: 0,
				DocumentRowTotalWeightUnitID: 0
			}
		],
		DocumentStatus: ValidStatus,
		chkReOpenOrCloseRelatedDocs: False,
		DocumentCreationDate: 0001-01-01,
		DocumentLastUpdatedDate: 0001-01-01
	},
	mvRecordAction: Insert,
	mvInsertUpdateDeleteSourceApplication: String,
	AutoInsertBundledProductRows: False,
	AutoInsertBatchNumbersToProductRows: Undefined
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	mvDocument: 
	{
		DocumentId: 0,
		DocumentTypeId: 0,
		DocumentTypeAbbreviation: String,
		DocumentTypeDescription: String,
		DocumentNo: String,
		DocumentReferenceNo: String,
		DocumentReferenceApplication: String,
		DocumentDate: 0001-01-01,
		DocumentCustomOrderDate1: 0001-01-01,
		DocumentCustomOrderDate2: 0001-01-01,
		DocumentCurrencyCode: String,
		DocumentSupplierClientID: 0,
		DocumentSupplierClientName: String,
		DocumentBillingAddress: String,
		DocumentAddress: String,
		DocumentAddresses: 
		[
			{
				AddressType: General,
				AddressLine1: String,
				AddressLine2: String,
				AddressLine3: String,
				Name: String,
				Phone: String,
				Email: String,
				TaxIdNumber: String,
				Organization: String,
				City: String,
				State: String,
				Country: NONE,
				CountryName: String,
				Longitude: String,
				Latitude: String,
				ZipCode: String
			}
		],
		DocumentContactPerson: String,
		DocumentInventoryLocationID: 0,
		DocumentCustomFlag1: False,
		DocumentCustomFlag6: False,
		DocumentCustomFlag2: False,
		DocumentCustomFlag7: False,
		DocumentCustomFlag3: False,
		DocumentCustomFlag8: False,
		DocumentCustomFlag4: False,
		DocumentCustomFlag9: False,
		DocumentCustomFlag5: False,
		DocumentCustomFlag10: False,
		DocumentShippingProviderID: 0,
		DocumentTrackingID: String,
		DocumentShippingInfo: 
		{
			ProviderInfo: 
			{
				ProviderId: 0,
				ServiceId: String,
				PackageId: String
			},
			CostInfo: 
			{
				ShippingCost: 0,
				OtherCosts: 0,
				TotalCost: 0
			},
			WeightInfo: 
			{
				Weight: 0,
				WeightUnitId: 0
			},
			ShipDateInfo: 
			{
				ShipDate: String
			},
			GenericAftersalesProServicesInfo: 
			{
				COD: False,
				GTEEC: False,
				Protocol: False,
				Reception: False,
				Insurance: False,
				ChequeCod: False,
				SpecialRate: False,
				VipDelivery: False,
				SenderCharge: False,
				PackageReturn: False,
				ReturnDocument: False,
				CodTotalInCents: 0,
				MorningDelivery: False,
				SameDayIntracity: False,
				SaturdayDelivery: False,
				SeaFreightCyprus: False,
				RefrigeratedGoods: False,
				LessThanTwoKilograms: False,
				LessThanFourKilograms: False,
				SubmissionOfTenderDocuments: False,
				NextDayAirTransportToIslands: False,
				ContainsDocumentsOnlyAndIsLessThanTwoKilograms: False
			},
			TrackingId: String,
			LockerId: 0
		},
		DocumentComments: String,
		DocumentTags: String,
		DocumentPaymentTermsEnumeration: None,
		DocumentPaymentMethod: None,
		DocumentParentDocId: 0,
		DocumentHandlingDocId: 0,
		DocumentTotalQuantity: 0,
		DocumentAmountSubtotalWithoutTaxAndDiscount: 0.00,
		DocumentAmountShipping: 0.00,
		DocumentAmountTotalDiscount: 0.00,
		DocumentAmountTotalTax: 0.00,
		DocumentAmountGrandTotal: 0.00,
		DocumentTotalWeight: 0,
		DocumentTotalWeightUnitID: 0,
		DocumentDetails: 
		[
			{
				DocumentRowDetailID: 0,
				DocumentRowProductID: 0,
				DocumentRowProductSKU: String,
				DocumentRowProductDescription: String,
				DocumentRowQuantity: 0,
				DocumentRowUnitPriceWithoutTaxOrDiscount: 0.00,
				DocumentRowTaxID: 0,
				DocumentTotalTaxAmount: 0.00,
				DocumentRowDiscountID: 0,
				DocumentRowTotalDiscountAmount: 0.00,
				DocumentRowTotalAmount: 0.00,
				DocumentRowSerialNumbers: 
				[
					String
				],
				DocumentRowBatchNumbers: 
				[
					{
						BatchNumberName: String,
						ExpiryDate: 0001-01-01,
						AssignedQTYInDetail: 0
					}
				],
				DocumentRowRemarks: String,
				DocumentRowTotalWeight: 0,
				DocumentRowTotalWeightUnitID: 0
			}
		],
		DocumentStatus: ValidStatus,
		chkReOpenOrCloseRelatedDocs: False,
		DocumentCreationDate: 0001-01-01,
		DocumentLastUpdatedDate: 0001-01-01
	},
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String
			}
		]
	},
	entityID: 0,
	InternalErrorCode: String
}