updateProduct
This method updates an existing product.
Description
Updates an existing product based on its ProductRefNum. The entire product is replaced by the contents of the Product parameter. Developers can use the getProduct method to retrieve the Product object, modify a field and then post the object back to the server. If you only need to update one field, consider using the quickUpdateProduct method instead.
See also quickUpdateProduct
Syntax
boolean updateProduct ( ueSecurityToken, ProductRefNum, Product)
Arguments
Type | Name | Description |
---|---|---|
ueSecurityToken | Token | Merchant security token: used to identify merchant and retrieve the custom fields. |
string | ProductRefNum | Product reference number (gateway assigned) |
Product | Product | Product data |
Return Value
Type | Description |
---|---|
boolean | Returns a true if the product is updated correctly |
Exceptions
The following exceptions (errors) are applicable to this method.
Code | Message | Advice |
---|---|---|
41002 | Product Not Found | Product specified by ProductRefNum was not found. Make sure the number stored is not truncated or rounded. |
41003 | Error saving product | A database fault was encountered while saving product record. Try operation again or contact support |
Examples
PHP
For directions on how to set up the WSDL link, create "$token" and "$client", go to PHP Soap How-to.
<?php
try {
$Product = array(
"ProductID" => "0-13-508011-8",
"SKU" =>"135080118",
"UPC" => "9780135080115",
"Category" => "Books:Math",
"Enabled" => true,
"Name" => "Elementary Differential Equations",
"Description" => "Rainville, Bedient and Bedient (Eight Edition)",
"Weight" => 1.0,
"ShipWeight" => 1.1,
"Price" => 112.00,
"ListPrice" => 128.00,
"WholesalePrice"=> 100.00,
"DateAvailable" => "2009-12-01",
"Manufacturer" => "Prentice Hall",
"Type" => "Unknown",
"MinQuantity" =>0,
"MaxQuantity" =>10,
"ImageURL" => "http://acme.com/prodimg/123123.jpg",
"URL" => "http:/acme.com/prod/123123.html"
);
$client->updateProduct($token, $ProductRefNum, $Product);
}
catch(SoapFault $e) {
echo $e->getMessage();
}
?>
VB
Dim RefNum As String
RefNum = "9001169810"
Dim product As newtek.Product = New newtek.Product()
product.ProductID = "0-13-508011-8"
product.SKU = "135080118"
product.UPC = "9780135080115"
product.Category = "Books:Science"
product.Enabled = True
product.Name = "Non-Elementary Differential Equations"
product.Description = "Rainville, Bedient and Bedient (Eight Edition)"
product.Weight = 1.0
product.ShipWeight = 1.1
product.Price = 112.0
product.ListPrice = 128.0
product.WholesalePrice = 100.0
product.DateAvailable = "2010-08-01"
product.Manufacturer = "Prentice Hail"
product.MinQuantity = "0"
Dim response As Boolean
response = client.updateProduct(token, RefNum, product)
MsgBox(response)
.NET C
string RefNum = "900116982";
newtek.Product product = new newtek.Product();
product.ProductID = "0-13-508011-8";
product.SKU = "135080118";
product.UPC = "9780135080115";
product.Category = "Books:Science";
product.Enabled = true;
product.Name = "Elementary Differential Equations";
product.Description = "Rainville, Bedient and Bedient (Eight Edition)";
product.Weight = 1.0;
product.ShipWeight = 1.1;
product.Price = 112.00;
product.ListPrice = 128.00;
product.WholesalePrice = 100.00;
product.DateAvailable = "2010-08-01";
product.Manufacturer = "Prentice Hail";
product.MinQuantity = "0";
Boolean response;
try
{
response = client.updateProduct(token, RefNum, product);
MessageBox.Show(string.Concat(response));
}
catch (Exception err)
{
MessageBox.Show(err.Message);
}
XML
Request:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="urn:newtek"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<ns1:updateProduct>
<Token xsi:type="ns1:ueSecurityToken">
<ClientIP xsi:type="xsd:string">123.123.123.123</ClientIP>
<PinHash xsi:type="ns1:ueHash">
<HashValue xsi:type="xsd:string">a6a24337700a018bb569202fefb5e034414f2adf</HashValue>
<Seed xsi:type="xsd:string">11288967116-test</Seed>
<Type xsi:type="xsd:string">sha1</Type>
</PinHash>
<SourceKey xsi:type="xsd:string">_B4P7C4K2w2ZCQQQXRqrxDj6agrS2NIT</SourceKey>
</Token>
<ProductRefNum xsi:type="xsd:string">9001001967</ProductRefNum>
<Product xsi:type="ns1:Product">
<ProductID xsi:type="xsd:string">866872</ProductID>
<SKU xsi:type="xsd:string">111111111</SKU>
<UPC xsi:type="xsd:string">555555555</UPC>
<Category xsi:type="xsd:string">liqour</Category>
<Enabled xsi:type="xsd:boolean">true</Enabled>
<Name xsi:type="xsd:string">Big V</Name>
<Description xsi:type="xsd:string">vodka</Description>
<Model xsi:type="xsd:string">bottle</Model>
<Weight xsi:type="xsd:double">5.7</Weight>
<ShipWeight xsi:type="xsd:double">11.7</ShipWeight>
<Price xsi:type="xsd:double">40</Price>
<WholesalePrice xsi:type="xsd:double">60</WholesalePrice>
<ListPrice xsi:type="xsd:double">20</ListPrice>
<Manufacturer xsi:type="xsd:string">Chase</Manufacturer>
<PhysicalGood xsi:type="xsd:boolean">true</PhysicalGood>
<MinQuantity xsi:type="xsd:integer">80</MinQuantity>
<ImageURL xsi:type="xsd:string">www.lime.com</ImageURL>
<URL xsi:type="xsd:string">www.lime.com</URL>
<Created xsi:type="xsd:dateTime"/>
<Modified xsi:type="xsd:dateTime"/>
<PriceTiers SOAP-ENC:arrayType="ns1:PriceTier[1]" xsi:type="ns1:PriceTierArray">
<item xsi:type="ns1:PriceTier">
<Qty xsi:type="xsd:string">10</Qty>
<Price xsi:type="xsd:string">25</Price>
</item>
</PriceTiers>
</Product>
</ns1:updateProduct>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Response:
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="urn:newtek"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<ns1:updateProductResponse>
<updateProductReturn xsi:type="xsd:boolean">true</updateProductReturn>
</ns1:updateProductResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>