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