Tradera.com logotype

Tradera Developer Program

RestrictedService

Documentation Version 3 > RestrictedService > UpdateShopItem

UpdateShopItem |WebMethod|

This API method updates a Shop item. This is an asynchronous call, the method GetRequestResults needs to be called to verify that the shop item was successfully updated.
Remember to always set only those properties of ShopItemData that you want to update. All other properties need to be set to "null" (xsi:nil="true"), so that API will not consider to update them.

Parameters
  1. updateData, Update information (see ShopItemUpdateData ) for the Shop item that will be updated. Set only those properties of ShopItemData you want to update and other as null.
Returns

Response data ( QueuedRequestResponse ) with request id and item id. The item id is the id of the shop item that will be updated on tradera on Tradera. The request id is the identifier of the current request and is used together with API metthod GetRequestResults to get final result of this call.

Code Example

This PHP example shows how the method can be used. Too keep it general no tools have been used for class generation.

  1:
  2:
  3:
  4:
  5:
  6:
  7:
  8:
  9:
 10:
 11:
 12:
 13:
 14:
 15:
 16:
 17:
 18:
 19:
 20:
 21:
 22:
 23:
 24:
 25:
 26:
 27:
 28:
 29:
 30:
 31:
 32:
 33:
 34:
 35:
 36:
 37:
 38:
 39:
 40:
 41:
 42:
 43:
 44:
 45:
 46:
 47:
 48:
 49:
 50:
 51:
 52:
 53:
 54:
 55:
 56:
 57:
 58:
 59:
 60:
 61:
 62:
 63:
 64:
 65:
 66:
 67:
 68:
 69:
 70:
 71:
 72:
 73:
 74:
 75:
 76:
 77:
 78:
 79:
// Replace the following variables with your own key management
// $APPLICATION_KEY
// $TOKEN
// $USER_ID
// $APPLICATION_ID
try {

	$appId = $APPLICATION_ID;
	$userId = $USER_ID;
	$token = $TOKEN;
	$appKey = $APPLICATION_KEY;
	$restrictedServiceUrl = 'https://api.tradera.com/v3/RestrictedService.asmx';

	$restrictedServiceUrlWithAuth = $restrictedServiceUrl
					. '?appId=' . $appId
					. '&appKey=' . $appKey
					. '&userId=' . $userId
					. '&token=' . $token;

	$restrictedClient = new SoapClient(
		$restrictedServiceUrl . '?WSDL',
		array('location' => $restrictedServiceUrlWithAuth)
	);

	// Create shop item data
	$description = 'Test item - Please do not buy';
	$price = 7200;

	$shopItem = new StdClass();
	$shopItem -> Title = null;
	$shopItem -> Price = $price;
	$shopItem -> Description = $description;

/*		We don't need to set values we do not wish to update
	$shopItem -> CategoryId = null;
	$shopItem -> AcceptedBuyerId = null; //international
	$shopItem -> ShippingOptions = null;
	$shopItem -> PaymentOptionIds = null;
	$shopItem -> ItemAttributes = null; // 1=New, 2= Used
	$shopItem -> ShippingCondition = null;
	$shopItem -> PaymentConditions = null;
	$shopItem -> OwnReferences = null; // Array of strings
	$shopItem -> VAT = null; //
	$shopItem -> ItemImages = null;
	$shopItem -> ActivateDate = null;
	$shopItem -> DeactivateDate = null;
	$shopItem -> Quantity = null;
	$shopItem -> ExternalId = null; // Array of strings
*/
	$updateItem = new StdClass();
	$updateItem -> ItemData = $shopItem;
	$updateItem -> ItemId = 260205913; // ID of the item to be updated
	$updateShopItemParams -> updateData = $updateItem;

	// Make Soap call
	$updateShopItemResult = $restrictedClient->UpdateShopItem($updateShopItemParams);

	// Use the requestId  to verify the request has been succesful
	$requestId = $updateShopItemResult -> UpdateShopItemResult ->  RequestId;

	sleep(5);

	$getReqResultsParams = new StdClass();
	$getReqResultsParams -> requestIds -> int = array($requestId);
	$requestResult = $restrictedClient -> GetRequestResults($getReqResultsParams);
	$result = $requestResult -> GetRequestResultsResult -> RequestResult;

	if($result -> ResultCode == 'Ok'){
		echo 'SUCCES:' . PHP_EOL . $result -> Message . PHP_EOL;
	}
	else {
		echo 'REQUEST NOT FINISHED:' . $result -> ResultCode . PHP_EOL;
		echo $result -> Message;
	}

}
catch(SoapFault $soapFault) {
	echo 'Error: ' . $soapFault->faultstring;
}

SOAP 1.1

The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.

POST /v3/RestrictedService.asmx HTTP/1.1
Host: api.tradera.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://api.tradera.com/UpdateShopItem"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <AuthenticationHeader xmlns="http://api.tradera.com">
      <AppId>int</AppId>
      <AppKey>string</AppKey>
    </AuthenticationHeader>
    <AuthorizationHeader xmlns="http://api.tradera.com">
      <UserId>int</UserId>
      <Token>string</Token>
    </AuthorizationHeader>
    <ConfigurationHeader xmlns="http://api.tradera.com">
      <Sandbox>int</Sandbox>
      <MaxResultAge>int</MaxResultAge>
    </ConfigurationHeader>
  </soap:Header>
  <soap:Body>
    <UpdateShopItem xmlns="http://api.tradera.com">
      <updateData>
        <ItemId>int</ItemId>
        <ItemData>
          <ActivateDate>dateTime</ActivateDate>
          <AcceptedBuyerId>int</AcceptedBuyerId>
          <CategoryId>int</CategoryId>
          <DeactivateDate>dateTime</DeactivateDate>
          <ItemAttributes>
            <int>int</int>
            <int>int</int>
          </ItemAttributes>
          <Description>string</Description>
          <PaymentCondition>string</PaymentCondition>
          <Price>int</Price>
          <Quantity>int</Quantity>
          <ShippingCondition>string</ShippingCondition>
          <Title>string</Title>
          <VAT>int</VAT>
          <ShippingOptions>
            <ItemShipping xsi:nil="true" />
            <ItemShipping xsi:nil="true" />
          </ShippingOptions>
          <PaymentOptionIds>
            <int>int</int>
            <int>int</int>
          </PaymentOptionIds>
          <OwnReferences>
            <string>string</string>
            <string>string</string>
          </OwnReferences>
          <ItemImages>
            <ItemImageData xsi:nil="true" />
            <ItemImageData xsi:nil="true" />
          </ItemImages>
          <ExternalId>int</ExternalId>
        </ItemData>
      </updateData>
    </UpdateShopItem>
  </soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <UpdateShopItemResponse xmlns="http://api.tradera.com">
      <UpdateShopItemResult>
        <RequestId>int</RequestId>
        <ItemId>int</ItemId>
      </UpdateShopItemResult>
    </UpdateShopItemResponse>
  </soap:Body>
</soap:Envelope>

SOAP 1.2

The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.

POST /v3/RestrictedService.asmx HTTP/1.1
Host: api.tradera.com
Content-Type: application/soap+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:Header>
    <AuthenticationHeader xmlns="http://api.tradera.com">
      <AppId>int</AppId>
      <AppKey>string</AppKey>
    </AuthenticationHeader>
    <AuthorizationHeader xmlns="http://api.tradera.com">
      <UserId>int</UserId>
      <Token>string</Token>
    </AuthorizationHeader>
    <ConfigurationHeader xmlns="http://api.tradera.com">
      <Sandbox>int</Sandbox>
      <MaxResultAge>int</MaxResultAge>
    </ConfigurationHeader>
  </soap12:Header>
  <soap12:Body>
    <UpdateShopItem xmlns="http://api.tradera.com">
      <updateData>
        <ItemId>int</ItemId>
        <ItemData>
          <ActivateDate>dateTime</ActivateDate>
          <AcceptedBuyerId>int</AcceptedBuyerId>
          <CategoryId>int</CategoryId>
          <DeactivateDate>dateTime</DeactivateDate>
          <ItemAttributes>
            <int>int</int>
            <int>int</int>
          </ItemAttributes>
          <Description>string</Description>
          <PaymentCondition>string</PaymentCondition>
          <Price>int</Price>
          <Quantity>int</Quantity>
          <ShippingCondition>string</ShippingCondition>
          <Title>string</Title>
          <VAT>int</VAT>
          <ShippingOptions>
            <ItemShipping xsi:nil="true" />
            <ItemShipping xsi:nil="true" />
          </ShippingOptions>
          <PaymentOptionIds>
            <int>int</int>
            <int>int</int>
          </PaymentOptionIds>
          <OwnReferences>
            <string>string</string>
            <string>string</string>
          </OwnReferences>
          <ItemImages>
            <ItemImageData xsi:nil="true" />
            <ItemImageData xsi:nil="true" />
          </ItemImages>
          <ExternalId>int</ExternalId>
        </ItemData>
      </updateData>
    </UpdateShopItem>
  </soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/soap+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>
    <UpdateShopItemResponse xmlns="http://api.tradera.com">
      <UpdateShopItemResult>
        <RequestId>int</RequestId>
        <ItemId>int</ItemId>
      </UpdateShopItemResult>
    </UpdateShopItemResponse>
  </soap12:Body>
</soap12:Envelope>

XHTML CSS