/** * Create a new Product * @param array $data * @return object */ public function create(array $data) { if (isset($data["number"])) { $number = $data["number"]; } if (!isset($number)) { $number = end($this->all())->Number + 1; } $group = new Group($this->client_raw); $groupHandle = $group->getHandle($data['group']); $productHandle = $this->client->Product_Create(["number" => $number, "productGroupHandle" => $groupHandle, "name" => $data["name"]])->Product_CreateResult; unset($data['name']); unset($data['group']); $this->client->Product_SetIsAccessible(['productHandle' => $productHandle, 'value' => true]); return $this->update($productHandle, $data); }