<?php
header('Content-Type: application/json');
require_once '../includes/funcoes.php';

$pdo = conectarBanco();

$ref = isset($_GET['ref']) ? $_GET['ref'] : '';

if (empty($ref)) {
    echo json_encode(['sucesso' => false, 'erro' => 'Referência não informada']);
    exit;
}

// Buscar nota
$stmt = $pdo->prepare("SELECT n.*, e.token, e.ambiente FROM notas_fiscais n JOIN empresas e ON n.empresa_id = e.id WHERE n.ref = ?");
$stmt->execute([$ref]);
$nota = $stmt->fetch(PDO::FETCH_ASSOC);

if (!$nota) {
    echo json_encode(['sucesso' => false, 'erro' => 'Nota não encontrada']);
    exit;
}

// Consultar na Focus NFe
$baseUrl = $nota['ambiente'] == 'producao' ? 'https://api.focusnfe.com.br/v2' : 'https://homologacao.focusnfe.com.br/v2';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $baseUrl . '/nfse?ref=' . urlencode($ref));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Basic ' . base64_encode($nota['token'] . ':')
]);
$resposta = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($httpCode == 200) {
    $dados = json_decode($resposta, true);
    
    // Atualizar dados da nota
    $pdf_url = $dados['pdf_url'] ?? null;
    $status = $dados['status'] ?? 'pendente';
    $numero_nfse = $dados['numero_nfse'] ?? null;
    
    $stmt = $pdo->prepare("UPDATE notas_fiscais SET pdf_url = ?, status = ?, numero_nfse = ?, atualizado_em = NOW() WHERE id = ?");
    $stmt->execute([$pdf_url, $status, $numero_nfse, $nota['id']]);
    
    if ($pdf_url) {
        echo json_encode(['sucesso' => true, 'pdf_url' => $pdf_url]);
    } else {
        echo json_encode(['sucesso' => false, 'erro' => 'PDF ainda não disponível']);
    }
} else {
    echo json_encode(['sucesso' => false, 'erro' => 'Erro ao consultar nota: ' . $resposta]);
}
?>