Tradera.com logotype

Tradera Developer Program

RestrictedService

Documentation Version 3 > RestrictedService > AddShopItem

AddShopItem |WebMethod|

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

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/AddShopItem"

<?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>
    <AddShopItem xmlns="http://api.tradera.com">
      <shopItemData>
        <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>
            <ShippingOptionId>int</ShippingOptionId>
            <Cost>int</Cost>
          </ItemShipping>
          <ItemShipping>
            <ShippingOptionId>int</ShippingOptionId>
            <Cost>int</Cost>
          </ItemShipping>
        </ShippingOptions>
        <PaymentOptionIds>
          <int>int</int>
          <int>int</int>
        </PaymentOptionIds>
        <OwnReferences>
          <string>string</string>
          <string>string</string>
        </OwnReferences>
        <ItemImages>
          <ItemImageData>
            <HasMega>boolean</HasMega>
            <Format>Gif or Jpeg or Png</Format>
            <Data>base64Binary</Data>
            <Name>string</Name>
          </ItemImageData>
          <ItemImageData>
            <HasMega>boolean</HasMega>
            <Format>Gif or Jpeg or Png</Format>
            <Data>base64Binary</Data>
            <Name>string</Name>
          </ItemImageData>
        </ItemImages>
        <ExternalId>int</ExternalId>
      </shopItemData>
    </AddShopItem>
  </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>
    <AddShopItemResponse xmlns="http://api.tradera.com">
      <AddShopItemResult>
        <RequestId>int</RequestId>
        <ItemId>int</ItemId>
      </AddShopItemResult>
    </AddShopItemResponse>
  </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>
    <AddShopItem xmlns="http://api.tradera.com">
      <shopItemData>
        <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>
            <ShippingOptionId>int</ShippingOptionId>
            <Cost>int</Cost>
          </ItemShipping>
          <ItemShipping>
            <ShippingOptionId>int</ShippingOptionId>
            <Cost>int</Cost>
          </ItemShipping>
        </ShippingOptions>
        <PaymentOptionIds>
          <int>int</int>
          <int>int</int>
        </PaymentOptionIds>
        <OwnReferences>
          <string>string</string>
          <string>string</string>
        </OwnReferences>
        <ItemImages>
          <ItemImageData>
            <HasMega>boolean</HasMega>
            <Format>Gif or Jpeg or Png</Format>
            <Data>base64Binary</Data>
            <Name>string</Name>
          </ItemImageData>
          <ItemImageData>
            <HasMega>boolean</HasMega>
            <Format>Gif or Jpeg or Png</Format>
            <Data>base64Binary</Data>
            <Name>string</Name>
          </ItemImageData>
        </ItemImages>
        <ExternalId>int</ExternalId>
      </shopItemData>
    </AddShopItem>
  </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>
    <AddShopItemResponse xmlns="http://api.tradera.com">
      <AddShopItemResult>
        <RequestId>int</RequestId>
        <ItemId>int</ItemId>
      </AddShopItemResult>
    </AddShopItemResponse>
  </soap12:Body>
</soap12:Envelope>

XHTML CSS