/** * @param $productID * @return Product */ public function getProduct($productID) { APIWrapper::verifyReadiness(); $requestURL = "https://app.fetchapp.com/api/v2/products/" . $productID; $product = APIWrapper::makeRequest($requestURL, "GET"); if (is_a($product, "SimpleXMLElement")) { $tempProduct = new Product(); $tempProduct->setProductID($product->id); $tempProduct->setSKU($product->sku); $tempProduct->setName($product->name); $tempProduct->setPrice($product->price); $tempProduct->setCurrency(Currency::getValue($product->currency)); $tempProduct->setOrderCount($product->order_count); $tempProduct->setDownloadCount($product->download_count); $tempProduct->setPaypalAddToCartLink($product->paypal_add_to_cart_link['href']); $tempProduct->setPaypalBuyNowLink($product->paypal_buy_now_link['href']); $tempProduct->setPaypalViewCartLink($product->paypal_view_cart_link['href']); $tempProduct->setCreationDate(new \DateTime($product->created_at)); $tempProduct->setFilesUri($product->files_uri); $tempProduct->setDownloadsUri($product->downloads_uri); } return $tempProduct; }
/** * Populate product object * * @param array $product * @return object */ protected function getProductObject($product) { if (empty($product)) { throw new BuyatException('Malformed response from server'); } $productObject = new Product(); $productObject->setProductID($product['product_id']); $productObject->setProductSKU($product['product_sku']); $productObject->setProductURL($product['product_url']); $productObject->setProductName($product['product_name']); $productObject->setBrandName($product['brand_name']); $productObject->setDescription($product['description']); $productObject->setOnlinePrice($product['online_price']); $productObject->setCurrency($product['currency']); $productObject->setCurrencySymbol($product['currency_symbol']); $productObject->setImageURL($product['image_url']); $productObject->setProgrammeName($product['programme_name']); $productObject->setProgrammeURL($product['programme_url']); $productObject->setProgrammeID($product['programme_id']); $productObject->setLevel1CategoryID($product['level1_category_id']); $productObject->setLevel1CategoryName($product['level1_category_name']); $productObject->setLevel2CategoryID($product['level2_category_id']); $productObject->setLevel2CategoryName($product['level2_category_name']); $productObject->setFeedID($product['feed_id']); $productObject->setFeedName($product['feed_name']); return $productObject; }