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