public static function jsonToData($object) { $isJson = Uteis::isJson($object); if ($isJson === false) { Handler::error('Falha na integração: Formato json inválido ' . json_encode(URI::get_segments())); } return json_decode($object); }
public static function validateJson($string) { $isJson = Uteis::isJson($string); if ($isJson === false) { Handler::error('Falha na integração: Formato json inválido ' . json_encode(URI::get_segments()), is_string($string) ? $string : ''); } return true; }
private function slugGenerator($data) { VtexRest::validateJson($data); $dataSlug = json_decode($data); if (property_exists($dataSlug, 'name')) { $slug = URI::slug_generator($dataSlug->name); } else { Handler::error('Falha na integração: O name não foi enviado para geração do slug: ' . __METHOD__, is_string($data) ? $data : ''); } Handler::success('Slug gerado com sucesso', json_encode(array('slug' => $slug))); }
private function update($data) { VtexRest::validateJson($data); $restParams = Config::get('vtex_params_rest'); $service = $restParams['url_price_update']; $key = $restParams['app_key']; $token = $restParams['app_token']; $response = VtexRest::execute($data, $service, $key, $token); if (Uteis::isJson($response)) { $jsonDecode = json_decode($response); if (is_array($jsonDecode) and isset($jsonDecode[0]) and property_exists($jsonDecode[0], 'itemId')) { Handler::success('Preço de sku atualizado com sucesso', $response); } elseif (is_object($jsonDecode) and property_exists($jsonDecode, 'error')) { Handler::error('#A: Falha no processo de Integração: Preço de sku não atualizado. ' . __METHOD__, $response); } else { Handler::error('#B: Falha no processo de Integração: Preço de sku não atualizado. ' . __METHOD__, $response); } } else { Handler::error('Falha no processo de Integração: Preço não atualizado :: Retorno fora do padrão: ' . __METHOD__, is_string($response) ? $response : ''); } }
private function addAddress($data, $profileId) { VtexRest::validateJson($data); $restParams = Config::get('vtex_params_rest'); $service = $service = preg_replace('/@PROFILEID@/', $profileId, $restParams['url_client_add_address']); $key = $restParams['app_key']; $token = $restParams['app_token']; $response = VtexRest::execute($data, $service, $key, $token); if (Uteis::isJson($response)) { $jsonDecode = json_decode($response); if (is_object($jsonDecode) and property_exists($jsonDecode, 'profileId')) { Handler::success('Endereço criado criado com sucesso', $response); } elseif (is_object($jsonDecode) and property_exists($jsonDecode, 'error')) { Handler::error('#A: Falha no processo de Integração: Endereço não criado. ' . __METHOD__, $response); } else { Handler::error('#B: Falha no processo de Integração: Endereço não criado. ' . __METHOD__, $response); } } else { Handler::error('Falha no processo de Integração: Endereço não criado :: Retorno fora do padrão json: ' . __METHOD__, is_string($response) ? $response : ''); } }
public function __construct() { header('Content-Type: text/xml; charset=UTF-8'); switch (URI::get_segment(1, false)) { case 'produto': new Product(); break; case 'sku': new Sku(); break; case 'sku-imagem': new SkuImage(); break; case 'sku-estoque': new SkuStock(); break; case 'sku-preco': new SkuPrice(); break; case 'pedido': new Order(); break; case 'servico': new Service(); break; case 'ferramenta': new Tool(); break; case 'cliente': new Client(); break; case 'vtrine-vtex': new VtrineVtex(); break; default: Handler::error('Escolha um método para integracao'); break; } }
private function getReservations($data) { VtexRest::validateJson($data); $restParams = Config::get('vtex_params_rest'); $service = $restParams['url_stock_reservations']; $dataStock = json_decode($data); if (property_exists($dataStock, 'itemId') and property_exists($dataStock, 'wareHouseId')) { $service = preg_replace(array('/@WAREHOUSEID@/', '/@ITEMID@/'), array($dataStock->wareHouseId, $dataStock->itemId), $restParams['url_stock_reservations']); } else { Handler::error('Falha na integração: É preciso enviar os parâmetros (itemId e wareHouseId) para realizar a consulta: ' . __METHOD__, is_string($data) ? $data : ''); } $data = null; $key = $restParams['app_key']; $token = $restParams['app_token']; $response = VtexRest::execute($data, $service, $key, $token, false); if (Uteis::isJson($response)) { $jsonDecode = json_decode($response); if (is_object($jsonDecode) and property_exists($jsonDecode, 'error')) { Handler::error('#A: Falha no processo de Integração: Estoque Reservado não consultado . ' . __METHOD__, $response); } elseif (is_array($jsonDecode) or true) { Handler::success('Estoque reservado de sku consultado com sucesso', $response); } else { Handler::error('#B: Falha no processo de Integração: Estoque reservado não consultado . ' . __METHOD__); } } else { Handler::error('Falha no processo de Integração: Estoque reservado não consultado :: Retorno fora do padrão json: ' . __METHOD__, is_string($response) ? $response : ''); } }
public function orderTransactionIteration($data) { VtexRest::validateJson($data); $restParams = Config::get('vtex_params_rest'); $dataIteration = json_decode($data); if (property_exists($dataIteration, 'transaction_id')) { $service = preg_replace('/@TRANSACTIONID@/', $dataIteration->transaction_id, $restParams['url_order_transaction_iteration']); } else { Handler::error('Falha na integração: É preciso enviar transaction_id para pegar as iterações da transação : ' . __METHOD__, is_string($data) ? $data : ''); } $key = $restParams['app_key']; $token = $restParams['app_token']; $response = VtexRest::execute($data, $service, $key, $token, false); if (Uteis::isJson($response)) { $jsonDecode = json_decode($response); if (isset($jsonDecode[0]) and is_object($jsonDecode[0]) and property_exists($jsonDecode[0], 'TransactionId')) { Handler::success('Consulta de transação realizada com sucesso', $response); } elseif (is_object($jsonDecode) and property_exists($jsonDecode, 'error')) { Handler::error('#A: Falha no processo de Integração: Consulta de transação não realizada. ' . __METHOD__, $response); } else { Handler::error('#B: Falha no processo de Integração: Consulta de transação não realizada. ' . __METHOD__, $response); } } else { Handler::error('Falha no processo de Integração: Consulta de transação não realizada :: Retorno fora do padrão json: ' . __METHOD__, is_string($response) ? $response : ''); } }
private function StockKeepingUnitImageRemove() { try { $soapClient = VtexSoap::createSoapclient(); $result = $soapClient->StockKeepingUnitImageRemove($this); return is_object($result) ? true : false; } catch (SoapFault $e) { VtexSoap::setResponseHeader($soapClient); $message = "Falha no processo de Integração. Método: " . __METHOD__; $messageVtex = json_encode(array('message' => $e->getMessage())); Handler::error($message, $messageVtex); } }
private function active($data) { $this->populate($data); try { $soapClient = VtexSoap::createSoapclient(); $result = $soapClient->StockKeepingUnitActive(array('idStockKeepingUnit' => $this->idStockKeepingUnit)); if (is_object($result)) { $message = 'Flag Ativar Sku se possível ativada com sucesso'; Handler::success($message, json_encode(array("result" => "true"))); } else { $message = 'Flag Ativar Sku se possível não foi ativada'; Handler::error($message, json_encode(array("result" => "false"))); } } catch (SoapFault $e) { VtexSoap::setResponseHeader($soapClient); $message = "Falha no processo de Integração. Método: " . __METHOD__; $messageVtex = json_encode(array('message' => $e->getMessage())); Handler::error($message, $messageVtex); } }
private function update($data) { $this->populate($data); $productDTO = $this->ProductGetByRefId(); if ($productDTO !== NULL) { $this->clear()->populate($productDTO)->modifier($data); $response = $this->ProductInsertUpdate(); if ($response !== NULL) { $message = 'Produto atualizado com sucesso'; Handler::success($message, json_encode($response)); } else { $message = 'Falha na integração: Produto não atualizado'; Handler::error($message, json_encode($response)); } } else { Handler::error($message = "Falha no processo de Integração. Produto não encontrado. Método: " . __METHOD__); } }
private function bindSku($data) { $this->populate($data); $response = $this->StockKeepingUnitServiceInsertUpdate(); if ($response !== NULL) { $message = 'Vínculo de Serviço a Sku realizado com sucesso'; Handler::success($message, json_encode($response)); } else { $message = 'Falha na integração: Vínculo de Serviço a Sku não realizado'; Handler::error($message, json_encode($response)); } }