Tradera.com logotype

Tradera Developer Program

RestrictedService

Documentation Version 3 > RestrictedService

Services that require authorization from the Tradera user being impersonated.

The following operations are supported. For a formal definition, please review the Service Description.

  • AddCampaign

    Adds a campaign for the calling user's shop. All campaigns have a graphical banner, which is
    shown at the top of the shop. A campaign can also include a list of items. Clicking on the banner
    will bring the user to the items.

    Parameters
    1. campaignData, Information (see CampaignData ) for the Campaign. The Id element is ignored.
    Returns

    The id of the created campaign.

  • AddItem

    This API method is used to create new items (for different item types see GetItemTypes API method) on Tradera,
    but not shop items (see AddShopItem for adding shop items). If uploading images set the property AutoCommit to false,
    call AddItemImage for every image and then call AddItemCommit after the last image.

    Note that this is an asynchronous call which means that the provided data will go through a first step validation
    and then be added to a processing queue. The method will then return. The item will be processed as soon as possible depending on the current
    system load. To be certain that the item was successfully added on Tradera the method GetRequestResults needs
    to be called to verify the final result of the request (see RequestResult ).

    Parameters
    1. itemRequest, Object containing the values for the new Item, see ItemRequest
    Returns

    Response data ( QueuedRequestResponse ) with request id and item id. The item id is the id of
    the new item 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

    A PHP example showing how AddItem can be used.

      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:
     80:
     81:
     82:
     83:
     84:
     85:
     86:
     87:
     88:
     89:
     90:
     91:
     92:
     93:
     94:
     95:
     96:
     97:
    
    // Replace tho following variables with your own key management
    // $APPLICATION_ID
    // $APPLICATION_KEY
    // $USER_ID
    // $TOKEN
    try {
    	$appId = $APPLICATION_ID;
    	$appKey = $APPLICATION_KEY;
    	$userId = $USER_ID;
    	$token = $TOKEN;
    
    	$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)
    	);
    
    	$addItemParams = new StdClass();
    
    	$itemRequest = new StdClass();
    	$itemRequest -> Title = 'Test auction';
    	$itemRequest -> OwnReferences = 'abc123';
    	$itemRequest -> CategoryId = 344481;
    	$itemRequest -> Duration = 4;
    	$itemRequest -> Restarts = 0;
    	$itemRequest -> StartPrice = 1;
    	$itemRequest -> ReservePrice = 0;
    	$itemRequest -> BuyItNowPrice = 0;
    	$itemRequest -> Description = 'A longer description of the test auction item';
    	$itemRequest -> PaymentOptionIds = new StdClass();
    	$itemRequest -> PaymentOptionIds -> int = array(4,32,4096);
    	
    	$shippingOption1 = new StdClass();
    	$shippingOption1 -> ShippingOptionId = 1;
    	$shippingOption1 -> Cost = 7;
    	$shippingOption2 = new StdClass();
    	$shippingOption2 -> ShippingOptionId = 8;
    	$shippingOption2 -> Cost = 0;
    	
    	$itemRequest -> ShippingOptions = new StdClass();
    	$itemRequest -> ShippingOptions -> ItemShipping = array($shippingOption1, $shippingOption2);
    	$itemRequest -> AcceptedBidderId = 1;
    	$itemRequest -> ExpoItemIds = new StdClass();
    	$itemRequest -> ExpoItemIds -> int = array();
    	$itemRequest -> ItemAttributes = new StdClass();
    	$itemRequest -> ItemAttributes -> int = array(2);
    	$itemRequest -> ItemType = 1;
    	$itemRequest -> AutoCommit = false;
    	$itemRequest -> VAT = 0;
    
    	$addItemParams -> itemRequest = $itemRequest;
    
    	$addItemResult = $restrictedClient->AddItem($addItemParams);
    	$requestId = $addItemResult -> AddItemResult -> RequestId;
    
    
    	$imageFilePath = 'images/image123.jpeg';
    	$imgData =  file_get_contents($imageFilePath);
    
    	$addImageParams = new StdClass();
    	$addImageParams -> requestId = $requestId;
    	$addImageParams -> imageData = $imgData;
    	$addImageParams -> imageFormat = 'Jpeg';
    	$addImageParams -> hasMega = true;
    
    	$addItemImageResult = $restrictedClient -> addItemImage($addImageParams);
    
    	$commitItemParams = new StdClass();
    	$commitItemParams -> requestId = $requestId;
    	$commitItemResult = $restrictedClient->AddItemCommit($commitItemParams);
    
    	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;
    }
    
  • AddItemCampaignCode

    Attach a campaign code to a previously created ItemRequest .
    Please note that the ItemRequest must be set to AutoCommit == false when AddItem request is made.
    NOTE: This method is considered internal and might be changed at any time without prior notice.

    Parameters
    1. requestId, The request Id of an Item request, created with a call to AddItem or AddItemXml
    2. campaignCode, The campaign code to attach
  • AddItemCommit

    Commits the Item-request so that it can be processed into the Tradera system.
    Call this method after uploading all images.

    Parameters
    1. requestId, The reserved Id of an Item request, created with a call to AddItem or AddItemXml

    Code Example

    See AddItem for code example and further information.

  • AddItemImage

    Uploads an image, and attaches it to a previously created ItemRequest .
    Please note that the ItemRequest must be set to AutoCommit == false when AddItem request is made.

    Parameters
    1. requestId, The request Id of an Item request, created with a call to AddItem or AddItemXml
    2. imageData, The image data, including file headers and so on. Max accepted size: 4MB
    3. imageFormat, The type/format of image being uploaded
    4. hasMega, If the image should have a Mega-image (extra large)

    Code Example

    The documentation page for AddItem contains a code example showing the use of AddItemImage.

  • AddItemXml

    Adds an ItemRequest into the Tradera systems using an XML string. SOAP clients
    are encouraged to use the AddItem method instead.

    If uploading images, set the AutoCommit AutoCommit to false, call AddItemImage for every image and then
    call AddItemCommit after the last image. For more information about the different elements in the Request XML, see the ItemRequest class.

    Note that this is an asynchronous call, which means that the item is not added into the Tradera system when this method returns. It is only added
    to a queue for processing, see AddItem and AddShopItem for additional information.

    Parameters
    1. createItemRequestXml, XML data containing the values for the new Item. XML format:

      <CreateItemRequest>
      <AutoCommit>bool</AutoCommit>
      <ItemType>int</ItemType>

      <Title>string</Title>
      <ShippingCondition>string</ShippingCondition>
      <PaymentCondition>string</PaymentCondition>
      <CategoryId>int</CategoryId>
      <Duration>int</Duration>
      <Restarts>int</Restarts>
      <StartPrice>int</StartPrice>
      <ReservePrice>int</ReservePrice>
      <BuyItNowPrice>int</BuyItNowPrice>
      <Description>string</Description>
      <AcceptedBidderId>int</AcceptedBidderId>
      <VAT>int</VAT>

      <OwnReferences>
      <OwnReference>string</OwnReference>
      <OwnReference>string</OwnReference>
      <OwnReference>string</OwnReference>
      <OwnReference>string</OwnReference>
      </OwnReferences>

      <ExpoItemIds>
      <ExpoItemId>int</ExpoItemId>
      <ExpoItemId>int</ExpoItemId>
      </ExpoItemIds>

      <PaymentOptionIds>
      <PaymentOptionId>int</PaymentOptionId>
      <PaymentOptionId>int</PaymentOptionId>
      </PaymentOptionIds>

      <ShippingOptions>
      <ShippingOption>
      <Id>int</Id>
      <Cost>int</Cost>
      </ShippingOption>
      <ShippingOption>
      <Id>int</Id>
      <Cost>int</Cost>
      </ShippingOption>
      </ShippingOptions>

      <ItemAttributes>
      <ItemAttribute>int</ItemAttribute>
      <ItemAttribute>int</ItemAttribute>
      </ItemAttributes>
      </CreateItemRequest>
      See the ItemRequest class for a description of the parameters.
    Returns

    Response data ( QueuedRequestResponse ) with request id and item id. The item id is the id of
    the new item 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.

  • AddShopItem

    This API method is used to create new Shop item on Tradera. This is an asynchronous call which
    means that the provided ShopItemData data will go through a first step validation and
    then be added to a processing queue. The method will then return.

    The item will be processed as soon as possible depending on the current system load. To be certain
    that the item was successfully added on Tradera the method GetRequestResults needs
    to be called to verify the final result of the request (see RequestResult ).

    Parameters
    1. shopItemData, Shop item data
    Returns

    Response data ( QueuedRequestResponse ) with request id and item id. The item id is the id of the new shop item 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. ha

    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:
     80:
     81:
     82:
     83:
     84:
     85:
     86:
     87:
     88:
     89:
     90:
     91:
     92:
     93:
     94:
     95:
     96:
     97:
     98:
     99:
    100:
    101:
    102:
    103:
    104:
    105:
    
    // Replace tho following variables with your own key management
    // $APPLICATION_ID
    // $APPLICATION_KEY
    // $USER_ID
    // $TOKEN
    try {
    	$appId = $APPLICATION_ID;
    	$appKey = $APPLICATION_KEY;
    	$userId = $USER_ID;
    	$token = $TOKEN;
    
    	$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
    	$title = 'Test item - Do not buy';
    	$description = 'Test item - Do not buy';
    	$quantity = 5;
    	$price = 4321;
    	$vat = 25;
    
    
    	$shippingOptionPosten = new StdClass();
    	$shippingOptionPosten -> ShippingOptionId = 1;
    	$shippingOptionPosten -> Cost = 130;
    	$shippingOptionPickup = new StdClass();
    	$shippingOptionPickup -> ShippingOptionId = 8;
    	$shippingOptionPickup -> Cost = 0;
    	$myShippingOptions = array($shippingOptionPosten, $shippingOptionPickup);
    
    	$paymentOptionCashOnPickup = 32;
    	$paymentOptionKlarna = 8192;
    	$myPaymentOptions = array($paymentOptionCashOnPickup, $paymentOptionKlarna);
    
    	$myShippingConditions = 'Shipping conditions';
    	$myPaymentConditions = 'Payment conditions';
    
    	$itemImageNames = array('image123.jpeg');
    	$itemImages = array();
    	foreach ($itemImageNames as $key => $itemImageName) {
    		$itemImageData = new StdClass();
    		$itemImageData -> Format = 'Jpeg';
    		$itemImageData -> Data = file_get_contents('images/' . $itemImageName);
    		$itemImageData -> Name = explode('.', $itemImageName)[0];
    		$itemImageData -> HasMega = true;
    		array_push($itemImages, $itemImageData);
    	}
    
    	$shopItem = new StdClass();
    	$shopItem -> Title = $title;
    	$shopItem -> Description = $description;
    	$shopItem -> CategoryId = 344481;
    	$shopItem -> AcceptedBuyerId = 3; //international
    	$shopItem -> ShippingOptions = $myShippingOptions;
    	$shopItem -> PaymentOptionIds = $myPaymentOptions;
    	$shopItem -> ItemAttributes = 1; // 1=New, 2= Used
    	$shopItem -> ShippingCondition = $myShippingConditions;
    	$shopItem -> PaymentConditions = $myPaymentConditions;
    	$shopItem -> OwnReferences = array(); // Array of strings
    	$shopItem -> VAT = $vat; //
    	$shopItem -> ItemImages = $itemImages;
    	$shopItem -> ActivateDate = mktime(6, 0, 0, 8, 1, 2015);
    	$shopItem -> DeactivateDate = mktime(6, 15, 0, 8, 1, 2016);
    	$shopItem -> Quantity = $quantity;
    	$shopItem -> ExternalId = array(); // Array of strings
    	$shopItem -> Price = $price;
    
    	$addShopItemParams = new StdClass();
    	$addShopItemParams -> shopItemData = $shopItem;
    
    	// Make Soap call
    	$addShopItemResult = $restrictedClient->AddShopItem($addShopItemParams);
    
    	// Use the requestId  to verify the request has been succesful
    	$requestId = $addShopItemResult -> AddShopItemResult ->  RequestId;
    	// Use the itemId when referencing the item in the future
    	$itemId = $addShopItemResult -> AddShopItemResult ->  ItemId;
    
    	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;
    }
    
  • AddShopItemVariant

    See method AddShopItem

    Parameters
    1. shopItemData,
    Returns

  • EndItem

    Ends an Item immediately if no bids, for shop items use 'RemoveShopItem'

    Parameters
    1. itemId, The Id of the Item to end
    Returns

    True if the Item was ended, otherwise false

  • GetCampaign

    Gets information about a campaign.

    Parameters
    1. campaignId, The id of the campaign to retrieve information about.
    Returns

    Information about the campaign (see CampaignData ). Only includes the URL to the banner, not the image data.

  • GetCampaignsList

    Gets all the campaigns for the calling user's shop.

    Returns

    A list of campaigns (see GetCampaignListResponse ).

  • GetItem

    Gets an Item for the current seller.

    Parameters
    1. itemId, The Id of the Item (auction)
    Returns

    Item (auction) object

  • GetItemCampaigns

    Gets all the campaigns that an item is included in.

    Parameters
    1. request, Request object, see GetItemCampaignsRequest object for more information.
    Returns

    A response object (see GetItemCampaignsResponse ) with a list of campaign ids.

  • GetItemFees

    Gets the fees for an Item.

    Parameters
    1. itemId, The Id of the item
    Returns

    Array of Fee objects

  • GetMemberPaymentOptions

    Gets a member''s available payment options

    Parameters
    1. memberId,
    Returns

  • GetRequestResults

    Retrieves final request results for asynchronous requests like: AddShopItem and SetPriceOnShopItems .

    Parameters
    1. requestIds, Request ids that are returned from asynchronous requests.
    Returns

    Array of found RequestResult for every request id that was provided. No request result will be returned for request ids that at the time have no result.

    Code Example

    This PHP example shows how the this method can be used to check the result of a method (SetPriceOnShopItems in this case).
    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:
     80:
     81:
     82:
     83:
     84:
     85:
     86:
     87:
     88:
     89:
     90:
     91:
     92:
     93:
    
    // 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 price)
    	$itemsToUpdate = array(260143133 => 7890, 259588151 => 7890);
    
    	// Create shop item data
    
    	$setPriceRequest = new StdClass();
    	$setPriceRequest -> ShopItems = new StdClass();
    	$setPriceRequest -> ShopItems = array();
    
    	foreach ($itemsToUpdate as $itemId => $price) {
    		$setPriceItem = new StdClass();
    		$setPriceItem -> Id = $itemId;
    		$setPriceItem -> Price = $price;
    
    		array_push($setPriceRequest -> ShopItems, $setPriceItem);
    	}
    
    	$setPriceOnShopItemsParams = new StdClass();
    	$setPriceOnShopItemsParams -> request = $setPriceRequest;
    
    	// Make Soap call
    	$setPriceResult = $restrictedClient->SetPriceOnShopItems($setPriceOnShopItemsParams);
    
    	// Handle result
    	$queuedRequestResponses = $setPriceResult -> SetPriceOnShopItemsResult -> QueuedRequestResponses -> QueuedRequestResponse;
    	$validationErrors = $setPriceResult -> SetPriceOnShopItemsResult -> ValidationErrors;
    
    	// Print Errors
    	foreach ($validationErrors as $validationError) {
    		echo 'ERROR:' . PHP_EOL;
    		echo print_r($validationError);
    	}
    
    ///////////////////////////////////////////////
    	// Verify results
    	// This is where we use GetRequestResults to verify our changes
    	sleep(5);
    	
    	$getReqResultsParams = new StdClass();
    	$getReqResultsParams -> requestIds -> int = array();
    	foreach ($queuedRequestResponses as $queuedRequestResponse) {
    		array_push($getReqResultsParams -> requestIds -> int, $queuedRequestResponse -> RequestId);
    	}
    	
    	$requestResult = $restrictedClient -> GetRequestResults($getReqResultsParams);
    
    	echo 'FINISHED REQUEST RESULTS:' . PHP_EOL;
    	$unfinishedRequests = array();
    	foreach ($requestResult -> GetRequestResultsResult -> RequestResult as $result) {
    		if($result -> ResultCode == 'Ok'){
    			echo $result -> Message . PHP_EOL;
    		}
    		else {
    			echo 'ResultCode: ';
    			echo print_r($result -> ResultCode);
    			array_push($unfinishedRequests, $result);
    		}
    	}
    
    	echo PHP_EOL . 'UNFINISHED REQUESTS/ERRORS:' .PHP_EOL;
    	foreach ($unfinishedRequests as $request) {
    		// Do something with the request
    		print_r($request);
    	}
    
    }
    catch(SoapFault $soapFault) {
    	echo 'Error: ' . $soapFault->faultstring;
    }
    
    
  • GetSellerItems

    Gets items for the current seller. Does not get any items with a start date which is in the future, regardless of parameter values.

    Parameters
    1. categoryId, The Id of the category to look for items in (use 0 for all categories)
      eg. 344481 for test item category
    2. filterItemType, Item types to return:
      "All"
      "Auction"
      "PureBuyItNow"
      "ShopItem"
    3. filterActive, The filter to use:
      "All" = All (max 60 days old items),
      "Active" = Only active items (EndDate > NOW),
      "Inactive" = Only inactive items (EndDate < NOW)

      Can be overridden with either the minEndDate or maxEndate parameters.
    4. minEndDate, Will return items with EndDate > than this parameter.
      Either send NULL or a DateTime <= DateTime.MinValue (0001-01-01 00:00:00) if not used.
      Note that no items older than 60 days will be returned regardless of minEndDate sent.
    5. maxEndDate, Will return items with EndDate < than this parameter.
      Either send NULL or a DateTime >= DateTime.MaxValue (9999-12-31 00:00:00) if not used.
    Returns

    Array of items

    Code Example

    THe following is a PHP example showing how GetSellerItems can be used.

      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:
    
    // 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)
    	);
    	$params = new StdClass();
    	$params -> categoryId = 0; //any category
    	$params -> filterActive = 'All'; // Active and inactive
    	$params -> filterItemType = 'ShopItem'; // shop items only
    	// Overrides filterActive when set (filterActive still needs a valid value)
    	// $params -> minEndDate = mktime(0,0,0,0,0,1);
    	// $params -> maxEndDate = mktime(0,0,0,1,1,2018);
    
    	$result = $restrictedClient -> GetSellerItems($params);
    
    	$items = $result -> GetSellerItemsResult -> Item;
    
    	function printItem($item){
    		echo 'Id: ' . $item -> Id . PHP_EOL;
    		echo 'Name: ' . $item -> ShortDescription . PHP_EOL;
    		echo 'Remaining Qty: ' . $item -> RemainingQuantity . PHP_EOL;
    		echo 'Price: ' . $item -> BuyItNowPrice . PHP_EOL;
    		echo 'EndDate: ' . $item -> EndDate . PHP_EOL;
    		echo 'StartDate: ' . $item -> StartDate . PHP_EOL . PHP_EOL;
    	}
    
    	if(is_array($items)){
    		foreach ($items as $key => $item) {
    			printItem($item);
    		}
    	}
    	elseif (isset($items)) {
    		printItem($items);
    	}
    	else {
    		echo 'No items to show';
    	}
    } 
    catch(SoapFault $soapFault) {
    	echo 'Error: ' . $soapFault->faultstring;
    }
    
  • GetSellerTransactions

    Returns all seller's transactions that have taken place within the specified constraints. The seller in this case is the user for which the call is made for.

    Parameters
    1. request, Holds request information for this call, see GetSellerTransactionsRequest for detailed information.
    Returns

    Array of found Transaction objects

  • GetShopSettings

    Returns shop settings owned by the Tradera seller. The seller in this case is the user for which the call is made for.

    Returns

    Shop settings, see ShopSettingsData

  • GetUpdatedSellerItems

    Returns updated items using criteria properties from request object GetUpdatedSellerItemsRequest . Note that this method retuns only minimal information for the items that are returned.

    Returns

    The GetUpdatedSellerItemsResponse object that contains updated items.

  • GetUserInfo

    Returns information about the calling user.

    Returns

    The User object that contains user information.

  • LeaveFeedback

    Leaves feedback for a transaction. If impersonated user is seller,
    leaves feedback for the buyer, otherwise leaves feedback for the seller.

    Parameters
    1. transactionId, The transaction to leave feedback for
    2. comment, A freetext comment (80 characters)
    3. type, Type of feedback to leave: Positive or Negative
    Returns

    True if feedback was inserted, false if feedback can not be left for several reasons:
    - Transaction does not exist.
    - Transaction is older than 60 days.
    - Feedback has already been left for the transaction by the requesting user
    - Transaction has been deleted by Tradera.

  • LeaveOrderFeedbackToBuyer

    Leaves feedback for an order to buyer.

    Parameters
    1. orderNumber, The OrderNumber to leave feedback for.
    2. comment, A freetext comment (80 characters)
    3. type, Type of feedback to leave: Positive or Negative
  • RemoveCampaign

    Removes a campaign for the calling user's shop.

    Parameters
    1. campaignId, The id of the campaign to remove.
  • RemoveShopItem

    Removes Shop item from Tradera system. This is an asynchronous call, the method GetRequestResults needs to be called to verify that the shop item was successfully removed.
    What this method actually does is to set the DeactivateDate to the current time. Another way of making the item not appear in searches and browsing is to set its quantity to 0.
    Another way to hide ShopItems from users is to set their quantity to 0 using SetQuantityOnShopItems . This can be done for many items at once.
    N.B. Do not use this method for an item that has an ActivateDate (StartDate) that is in the future.

    Parameters
    1. shopItemId, The id of Shop item to be removed.
    Returns

    Response data ( QueuedRequestResponse ) with request id and item id. The item id is the id of the item that was sent in to be removed from Tradera system. 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

    The Following PHP5 example shows how this method can be used to remove a shop item.

      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:
    
    // 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)
    	);
    	// The data needed for the request
    	$itemToRemove = 260560552; // Tradera item id
    	$removeShopItemParams = new StdClass();
    	$removeShopItemParams -> shopItemId = $itemToRemove;
    	// Make Soap call
    	$removeShopItemResult = $restrictedClient->RemoveShopItem($removeShopItemParams);
    	// Use the requestId  to verify the request has been succesful
    	$requestId = $removeShopItemResult -> RemoveShopItemResult ->  RequestId;
    	sleep(5);
    	$getReqResultsParams = new StdClass();
    	$getReqResultsParams -> requestIds = 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;
    }
    
  • SetActivateDateOnShopItems

    Sets the activate date on a list of shop items.

  • SetPriceOnShopItems

    Sets the price on a list of shop items.

    Parameters
    1. request, The list of shop items.

    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:
     80:
     81:
     82:
     83:
     84:
     85:
     86:
     87:
     88:
     89:
     90:
     91:
    
    // 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 price)
    	$itemsToUpdate = array(260143133 => 7890, 259588151 => 7890);
    
    	// Create shop item data
    
    	$setPriceRequest = new StdClass();
    	$setPriceRequest -> ShopItems = new StdClass();
    	$setPriceRequest -> ShopItems = array();
    
    	foreach ($itemsToUpdate as $itemId => $price) {
    		$setPriceItem = new StdClass();
    		$setPriceItem -> Id = $itemId;
    		$setPriceItem -> Price = $price;
    
    		array_push($setPriceRequest -> ShopItems, $setPriceItem);
    	}
    
    	$setPriceOnShopItemsParams = new StdClass();
    	$setPriceOnShopItemsParams -> request = $setPriceRequest;
    
    	// Make Soap call
    	$setPriceResult = $restrictedClient->SetPriceOnShopItems($setPriceOnShopItemsParams);
    
    	// Handle result
    	$queuedRequestResponses = $setPriceResult -> SetPriceOnShopItemsResult -> QueuedRequestResponses -> QueuedRequestResponse;
    	$validationErrors = $setPriceResult -> SetPriceOnShopItemsResult -> ValidationErrors;
    
    	// Print Errors
    	foreach ($validationErrors as $validationError) {
    		echo 'ERROR:' . PHP_EOL;
    		echo print_r($validationError);
    	}
    
    	// Verify results
    	sleep(5);
    	
    	$getReqResultsParams = new StdClass();
    	$getReqResultsParams -> requestIds -> int = array();
    	foreach ($queuedRequestResponses as $queuedRequestResponse) {
    		array_push($getReqResultsParams -> requestIds -> int, $queuedRequestResponse -> RequestId);
    	}
    	
    	$requestResult = $restrictedClient -> GetRequestResults($getReqResultsParams);
    
    	echo 'FINISHED REQUEST RESULTS:' . PHP_EOL;
    	$unfinishedRequests = array();
    	foreach ($requestResult -> GetRequestResultsResult -> RequestResult as $result) {
    		if($result -> ResultCode == 'Ok'){
    			echo $result -> Message . PHP_EOL;
    		}
    		else {
    			echo 'ResultCode: ';
    			echo print_r($result -> ResultCode);
    			array_push($unfinishedRequests, $result);
    		}
    	}
    
    	echo PHP_EOL . 'UNFINISHED REQUESTS/ERRORS:' .PHP_EOL;
    	foreach ($unfinishedRequests as $request) {
    		// Do something with the request
    		print_r($request);
    	}
    
    }
    catch(SoapFault $soapFault) {
    	echo 'Error: ' . $soapFault->faultstring;
    }
    
    
  • SetQuantityOnShopItems

    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;
    }
    
  • SetShopSettings

    Sets settings of the shop owned by the Tradera seller. The seller in this case is the user for which the call is made for.

    Parameters
    1. shopSettings, Shop settings that can be set, see ShopSettingsData .
  • UpdateCampaign

    Updates information about a campaign for the calling user's shop.

    Parameters
    1. campaignData, Update information (see CampaignData ) for the Campaign.
  • UpdateItemCampaigns

    Replaces the list of campaigns that an item is included in.

    Parameters
    1. itemCampaignsData, Request object, see ItemCampaignsData object for more information.
  • UpdateShopItem

    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;
    }
    
  • UpdateShopItemVariant

  • UpdateTransactionStatus

    Updates different transaction status flags, like PaidConfirmed, Shipped etc.

    Parameters
    1. transactionStatusUpdateData, Request object containing the values to update transaction status flags, see TransactionStatusUpdateData for the additional information.
      To avoid updating certain status flag, it has to be null. Note that at least one of the status flags need to be set.
    Returns

    Returns Transaction object for the updated transaction with latest transaction status flags.
    Note that properties Buyer and Item on Transaction object are not relevant for this call and will be null because they are not set .

  • ValidateCampaignCode

    Validates a campaign code given the user context and the supplied category id.
    NOTE: This method is considered internal and might be changed at any time without prior notice.

    Parameters
    1. campaignCode, Campaign code to validate
    2. categoryId, The category to be used in the validation context
    Returns

    Campaign code details and validation info

XHTML CSS