<?php

header('Content-Type: application/json; charset=utf-8');

$token = 'km_40ef394da1af64cc0ed6ce07b7cef84ccd3689400f6bfd6c';

$dni = $_GET['dni'] ?? '';

// Validación básica
if (empty($dni)) {
    echo json_encode([
        'ok' => false,
        'message' => 'DNI requerido',
        'signature' => 'By FoxData Beta 2.5'
    ], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
    exit;
}

// URL del proveedor
$url = "https://kmente.com/api/v1/reniec?dni=" . urlencode($dni) . "&token=" . urlencode($token);

// =====================
// CURL (más estable que file_get_contents)
// =====================
$ch = curl_init();

curl_setopt_array($ch, [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_CONNECTTIMEOUT => 5,
    CURLOPT_SSL_VERIFYPEER => true,
    CURLOPT_SSL_VERIFYHOST => 2,
]);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);

curl_close($ch);

// Error de conexión
if ($response === false) {
    echo json_encode([
        'ok' => false,
        'message' => 'Error de conexión con proveedor',
        'debug' => $error,
        'signature' => 'By FoxData Beta 2.5'
    ], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
    exit;
}

// Decodificar respuesta
$data = json_decode($response, true);

// Validación de respuesta válida
if ($httpCode !== 200 || !is_array($data)) {
    echo json_encode([
        'ok' => false,
        'message' => 'Respuesta inválida del servicio',
        'signature' => 'By FoxData Beta 2.5'
    ], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
    exit;
}

// Respuesta final limpia (SIN rastros del proveedor)
echo json_encode([
    'ok' => true,
    'data' => $data['data'] ?? [],
    'signature' => 'By FoxData Beta 2.5'
], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);