OpenCart 🇺🇦

Схема

public mixed doBulkListing ( $data )

Аргументы

Аргумент Возможный тип Описание
$data

Описание

Метод пока еще не документирован.

Исходный код

$this->load->model('catalog/product');
$request = array();

$marketplaceMapping = array(
	'uk' => 'A1F83G8C2ARO7P',
	'de' => 'A1PA6795UKMFR9',
	'fr' => 'A13V1IB3VIYZZH',
	'it' => 'APJ6JRA9NG5V4',
	'es' => 'A1RKKUPIHCS9HS',
);

foreach($data['products'] as $product_id => $asin) {
	$product = $this->model_catalog_product->getProduct($product_id);

	if ($product) {
		$price = $product['price'];

		if ($this->config->get('openbay_amazon_listing_tax_added') && $this->config->get('openbay_amazon_listing_tax_added') > 0) {
			$price += $price * ($this->config->get('openbay_amazon_listing_tax_added') / 100);
		}

		$request[] = array(
			'asin' => $asin,
			'sku' => $product['sku'],
			'quantity' => $product['quantity'],
			'price' => number_format($price, 2, '.', ''),
			'sale' => array(),
			'condition' => (isset($data['condition']) ? $data['condition'] : ''),
			'condition_note' => (isset($data['condition_note']) ? $data['condition_note'] : ''),
			'start_selling' => (isset($data['start_selling']) ? $data['start_selling'] : ''),
			'restock_date' => '',
			'marketplace' => $data['marketplace'],
			'response_url' => HTTPS_CATALOG . 'index.php?route=amazon/listing',
			'product_id' => $product['product_id'],
		);
	}
}

if ($request) {
	$response = $this->openbay->amazon->callWithResponse('productv3/bulkListing', $request);

	$response = json_decode($response, 1);

	if ($response['status'] == 1) {
		foreach ($request as $product) {
			$this->db->query("
				REPLACE INTO `" . DB_PREFIX . "amazon_product`
				SET `product_id` = " . (int)$product['product_id'] . ",
					`status` = 'uploaded',
					`marketplaces` = '" . $this->db->escape($data['marketplace']) . "',
					`version` = 3,
					`var` = ''
			");
		}

		return true;
	}
}

return false;