+

Előkészítő anyagok és folyadékok

Dr Szmich kézfertőtlenítő gél 70% alkohollal 50 ml
Dr Szmich kézfertőtlenítő gél 70% alkohollal 50 mlGyártó: Delia Cosmetics Sp. z o.o.

1 190 Ft

≈ 3,74 EUR

100% Európában előállított termék. Az alapanyagoktól a csomagolásig. Minden EU-s előírásnak megfelel, amit egy kézfertőtlenítő elé állítanak. 70% os alkohol tartalmú illatosított kézfertőtlenítő Aloe Verával és D- panthenollal, ami segít, hogy hosszú távú használat után se száradjon ki a kéz.
A Phantenol visszahámosítja az alkohol által károsított bőrfelületet és az Aloe Vera ápolja azt. Hármas segítség a bőrnek a megfelelő védekezésben.

Kosárba
Részletek
Japán Manikűr Készlet
Manikűr
Kosárba
Részletek
Kosárba
Részletek
Leoldó fólia lakkzseléhez
-16.9%
Leoldó fólia
Leoldó fólia lakkzseléhez

590 Ft

490 Ft

≈ 1,86 EUR

≈ 1,54 EUR

10db / csomag.
Könnyen és kíméletesen oldja le a géllakkot a körmök felszínéről.

Kosárba
Részletek
Moonbasa Bonder extra 6ml
Bonder
Moonbasa Bonder extra 6mlGyártó: Moonbasa

1 990 Ft

≈ 6,26 EUR

Extra bonder,mely tökéletes alapot ad a gélakkok és az ELSATIC base alá.

Kosárba
Részletek
Moonbasa primer 12ml
Új!
Primer
Kosárba
Részletek
Moyra nail prep 13 ml
Moyra nail prep 13 ml

690 Ft

≈ 2,17 EUR

Géllakk alá kifejezetten ajánlott

Kosárba
Részletek
Moyra savmentes primer 13 ml
Primer
Moyra savmentes primer 13 mlGyártó: Moyra

890 Ft

≈ 2,80 EUR

Zseléhez és porcelánhoz is!

Kosárba
Részletek
Venalisa előkészítő csomag 1762 3x7,5ml
Új!
Base
Primer
Top
Venalisa előkészítő csomag 1762 3x7,5ml

3 490 Ft

≈ 10,97 EUR

Csomag tartalma:
1 db Venalisa Base 7,5 ml
1 db Venalisa Primer 7,5 ml
1 db Venalisa Top coat 7,5 ml

Venalisa előkészítő csomag 1764 3x7,5ml
Új!
Matt
Primer
Top
Venalisa előkészítő csomag 1764 3x7,5mlGyártó: Canni

3 490 Ft

≈ 10,97 EUR

A csomag tartalma:
1 db Venalisa Primer
1 db Venalisa Tempered Top
1 db Venalisa Matt Top

Kosárba
Részletek

Kapcsolat

Hírlevél

Viltor - webáruház készítés és bérlés

A weboldal sütiket (cookie) használ az alapvető működés, valamint a jobb felhasználói élmény eléréséhez. Az oldal használatával elfogadja az Általános Szerződési Feltételeket, valamint az Adatvédelmi tájékoztatót. A süti beállítások igény esetén bármikor megváltoztathatók a böngésző beállításaiban.

WebApiKey = $WebApiKey; } /** Sets the customer's e-mail address. * @param string $Email - Current customer's e-mail address. */ public function SetEmail($Email) { $this->Email = $Email; } /** Adds a product to send. Callable multiple times. * @param string $ProductName - A product name from the customer's cart. * @param string $ProductId - A product id, it must be same as in the feed. */ public function AddProduct($ProductName, $ProductId = null) { $Content = array(); $Content['Name'] = $ProductName; if(!empty($ProductId)) { $Content['Id'] = $ProductId; } $this->Products[] = $Content; } /** Prepares the Trusted code, which provides data sending from the customer's browser to us. * @return string - Prepared Trusted code (HTML). */ public function Prepare() { if (empty($this->WebApiKey)) { throw new Exception(self::ERROR_EMPTY_WEBAPIKEY); } if (empty($this->Email)) { throw new Exception(self::ERROR_EMPTY_EMAIL); } if ($this->Email == 'somebody@example.com') { throw new Exception(self::ERROR_EXAMPLE_EMAIL); } $Examples = array('Name of first purchased product', 'Name of second purchased product'); foreach($Examples as $Example) { foreach($this->Products as $Product){ if($Product['Name'] == $Example) { throw new Exception(self::ERROR_EXAMPLE_PRODUCT); } } } $Params = array(); $Params['Version'] = self::VERSION; $Params['WebApiKey'] = $this->WebApiKey; $Params['Email'] = $this->Email; $Params['Products'] = json_encode($this->Products); $Random = md5($this->WebApiKey . microtime()); $Query = $this->GetQuery($Params); // Sending: $Output = ''; // Include: $Output.= ''; // Fallback: $Output.= ''; return $Output; } /** Performs a request on our servers to get a token and assembles query params with it. * @param array $Params - Parameters to send with token request. * @return string - Query string to assemble sending code snipet on client's side with it. */ protected function GetQuery($Params) { // Prepare curl request: $Curl = curl_init(); curl_setopt($Curl, CURLOPT_URL, self::SERVICE_URL_SEND . self::SERVICE_TOKEN_REQUEST); curl_setopt($Curl, CURLOPT_POST, 1); curl_setopt($Curl, CURLOPT_POSTFIELDS, http_build_query($Params)); curl_setopt($Curl, CURLOPT_CONNECTTIMEOUT_MS, 500); curl_setopt($Curl, CURLOPT_TIMEOUT_MS, 500); curl_setopt($Curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($Curl, CURLOPT_HEADER, true); // Execute the request: $Response = curl_exec($Curl); if(curl_errno($Curl) === 0 && $Response !== false) { $Info = curl_getinfo($Curl); $StatusCode = $Info['http_code']; $JsonBody = substr($Response, $Info['header_size']); $JsonArray = json_decode($JsonBody, true); $JsonError = json_last_error(); curl_close($Curl); if(empty($JsonError)) { if ($StatusCode == 200){ $Query = array(); $Query[]= 'Token=' . $JsonArray['Token']; $Query[]= 'WebApiKey=' . $this->WebApiKey; $Query[]= 'C='; return '?' . join('&', $Query); } else if ($StatusCode == 400){ throw new Exception(self::ERROR_TOKEN_BAD_REQUEST . $JsonArray['ErrorCode'] . ' - ' . $JsonArray['ErrorMessage']); } else { throw new Exception(self::ERROR_TOKEN_REQUEST_FAILED); } } else { throw new Exception('Json error: ' . $JsonError); } } else { throw new Exception(self::ERROR_TOKEN_REQUEST_TIMED_OUT); } return null; } }