Megaventory API v2017a

<back to all web services

ProductBOMUpdate

Inserts a product's bill of materials or updates a current one.Uses your API Key and applies a mvRecordAction value on an mvProductBOM object. We can insert the mvProductBOM object we specified using "Insert" as our mvRecordAction. We can update a current BoM using "Update", we can insert it if it doesn't already exist, update it if it does using "InsertOrUpdate" and we can insert new fields or update non-empty fields of the BoM using "InsertOrUpdateNonEmptyFields". Optionally, you can use mvInsertUpdateDeleteSourceApplication when an external application ( eg Magento ) is the one that triggers the ProductBOMUpdate call.

Examples:



A.

Update a product's bill of materials. ProductBOMUpdate call was triggered by Magento.

Value:

 {
   "mvProductBOM": {
      "ProductID": "27412",
      "ProductSKU": "prod111",
      "mvRawMaterials": [
         {
            "ProductID": "27396",
            "ProductSKU": "PROD11",
            "ProductDescription": "PROD11",
            "RawMaterialQuantity": "1"
         }
      ]
   },
   "mvRecordAction": "Update",
   "mvInsertUpdateDeleteSourceApplication": "Magento"
} 


Response:

 {
   "mvProductBOM": {
      "ProductID": 27412,
      "ProductSKU": "prod111",
      "mvRawMaterials": [
         {
            "ProductID": 27396,
            "ProductSKU": "PROD11",
            "ProductDescription": "PROD11",
            "RawMaterialQuantity": 1
         }
      ]
   },
   "ResponseStatus": {
      "ErrorCode": "0"
   },
   "entityID": 27412
} 

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

HTTP + SOAP12

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

POST /soap12 HTTP/1.1 
Host: api.megaventory.com 
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
    <soap12:Body>

<ProductBOMUpdate xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Megaventory.APIEndpoints.Operations">
  <APIKEY>String</APIKEY>
  <mvProductBOM xmlns:d2p1="https://api.megaventory.com/types">
    <d2p1:ProductID>0</d2p1:ProductID>
    <d2p1:ProductSKU>String</d2p1:ProductSKU>
    <d2p1:mvRawMaterials>
      <d2p1:mvRawMaterialItem i:nil="true" />
    </d2p1:mvRawMaterials>
  </mvProductBOM>
  <mvRecordAction>Insert</mvRecordAction>
  <mvInsertUpdateDeleteSourceApplication>String</mvInsertUpdateDeleteSourceApplication>
</ProductBOMUpdate>

    </soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
    <soap12:Body>

<ProductBOMUpdateResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Megaventory.APIEndpoints.Operations">
  <mvProductBOM xmlns:d2p1="https://api.megaventory.com/types">
    <d2p1:ProductID>0</d2p1:ProductID>
    <d2p1:ProductSKU>String</d2p1:ProductSKU>
    <d2p1:mvRawMaterials>
      <d2p1:mvRawMaterialItem i:nil="true" />
    </d2p1:mvRawMaterials>
  </mvProductBOM>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
      </d2p1:ResponseError>
    </d2p1:Errors>
  </ResponseStatus>
  <entityID>0</entityID>
  <InternalErrorCode>String</InternalErrorCode>
</ProductBOMUpdateResponse>

    </soap12:Body>
</soap12:Envelope>