Tradera.com logotype

Tradera Developer Program

RestrictedService

Documentation Version 3 > RestrictedService > SetQuantityOnShopItems

SetQuantityOnShopItems |WebMethod|

Sets the quantity on a list of shop items.

Parameters
  1. request, The list of shop items.

Code Example

The following PHP example code shows how item quantities can be updated using the SetQuantityOnShopItems method.

  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:
// 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)
	);
	// Manufacture data (itemId => new qty)
	$itemsToUpdate = array(260143133 => 4, 260143133 => 0);

	// Create shop item data

	$setQtyRequest = new StdClass();
	$setQtyRequest -> ShopItems = new StdClass();
	$setQtyRequest -> ShopItems = array();

	foreach ($itemsToUpdate as $itemId => $qty) {
		$setQtyItem = new StdClass();
		$setQtyItem -> Id = $itemId;
		$setQtyItem -> Quantity = $qty;

		array_push($setQtyRequest -> ShopItems, $setQtyItem);
	}

	$setQuantityOnShopItemsParams = new StdClass();
	$setQuantityOnShopItemsParams -> request = $setQtyRequest;

	// Make Soap call
	$setQtyResult = $restrictedClient->SetQuantityOnShopItems($setQuantityOnShopItemsParams);

	// Handle errors
	$succesfulUpdates = $setQtyResult -> SetQuantityOnShopItemsResult -> SuccessfulUpdates;

	if ($succesfulUpdates == count($itemsToUpdate)) {
		echo "SUCCESS";
	}
	else {
		foreach ($setQtyResult -> SetQuantityOnShopItemsResult -> ValidationErrors as $validationError) {
			echo 'ERROR:' . PHP_EOL;
			echo print_r($validationError);
		}

	}
}
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/SetQuantityOnShopItems"

<?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>
    <SetQuantityOnShopItems xmlns="http://api.tradera.com">
      <request>
        <ShopItems>
          <SetQuantityShopItem>
            <Id>int</Id>
            <Quantity>int</Quantity>
          </SetQuantityShopItem>
          <SetQuantityShopItem>
            <Id>int</Id>
            <Quantity>int</Quantity>
          </SetQuantityShopItem>
        </ShopItems>
      </request>
    </SetQuantityOnShopItems>
  </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>
    <SetQuantityOnShopItemsResponse xmlns="http://api.tradera.com">
      <SetQuantityOnShopItemsResult>
        <SuccessfulUpdates>int</SuccessfulUpdates>
        <ValidationErrors>
          <SetQuantityOnShopItemError>
            <Item xsi:nil="true" />
            <ErrorMessage>string</ErrorMessage>
          </SetQuantityOnShopItemError>
          <SetQuantityOnShopItemError>
            <Item xsi:nil="true" />
            <ErrorMessage>string</ErrorMessage>
          </SetQuantityOnShopItemError>
        </ValidationErrors>
      </SetQuantityOnShopItemsResult>
    </SetQuantityOnShopItemsResponse>
  </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>
    <SetQuantityOnShopItems xmlns="http://api.tradera.com">
      <request>
        <ShopItems>
          <SetQuantityShopItem>
            <Id>int</Id>
            <Quantity>int</Quantity>
          </SetQuantityShopItem>
          <SetQuantityShopItem>
            <Id>int</Id>
            <Quantity>int</Quantity>
          </SetQuantityShopItem>
        </ShopItems>
      </request>
    </SetQuantityOnShopItems>
  </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>
    <SetQuantityOnShopItemsResponse xmlns="http://api.tradera.com">
      <SetQuantityOnShopItemsResult>
        <SuccessfulUpdates>int</SuccessfulUpdates>
        <ValidationErrors>
          <SetQuantityOnShopItemError>
            <Item xsi:nil="true" />
            <ErrorMessage>string</ErrorMessage>
          </SetQuantityOnShopItemError>
          <SetQuantityOnShopItemError>
            <Item xsi:nil="true" />
            <ErrorMessage>string</ErrorMessage>
          </SetQuantityOnShopItemError>
        </ValidationErrors>
      </SetQuantityOnShopItemsResult>
    </SetQuantityOnShopItemsResponse>
  </soap12:Body>
</soap12:Envelope>

XHTML CSS