} $response->setStatusCode(201, 'Created'); $response->setContent("<?xml version='1.0' encoding='ISO-8859-1'?><response><status>OK</status><mensagem>Foram criados {$total} produtos de um total de " . count($xml) . " de produtos enviados</mensagem></response>"); } else { $response->setStatusCode(401, 'Não autorizado'); $response->setContent("<?xml version='1.0' encoding='ISO-8859-1'?><response><status>ERROR</status><mensagem>Chave inválida</mensagem></response>"); } return $response; }); // Update produto $app->post('/update/product/{key}/{codigo}', function ($key, $codigo) use($app, $di) { $response = new Response(); $conta = Contas::findFirst(array('conditions' => array('key' => $key))); if ($conta) { setDatabase($di, $conta->host, $conta->database); $produto = Produtos::findFirst(array('conditions' => array('sku' => $codigo))); if ($produto) { $xml = simplexml_load_string($_POST['xml']); if (!isset($xml->detalhe)) { $produto->estoque = intval($xml->estoque); $produto->valor = floatval($xml->valor); } else { $chave = null; foreach ($produto->detalhes as $key => $value) { if ($value['codigo'] == $xml->detalhe->codigo) { $chave = $key; } } if (!is_null($chave)) { $produto->detalhes[$chave]['estoque'] = intval($xml->detalhe->estoque); $produto->detalhes[$chave]['valor'] = floatval($xml->detalhe->valor);