prepare("SELECT nombre_cliente FROM pedidos WHERE dni_cliente = ? ORDER BY id DESC LIMIT 1"); $stmt->execute([$dni]); $result = $stmt->fetch(PDO::FETCH_ASSOC); if ($result) { echo json_encode(["success" => true, "nombre" => $result["nombre_cliente"], "source" => "database"]); exit; } // 2. Si no está en la base de datos, consultamos a la API de APIs PERÚ // Usamos un token de cortesía. Nota: Para producción se recomienda registrarse en apis.net.pe $token = 'apis-token-1.aI07n-re05iau19nd08h123e123'; $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://api.apis.net.pe/v2/reniec/dni?numero=' . $dni, CURLOPT_RETURNTRANSFER => true, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => array( 'Referer: https://apis.net.pe/consulta-dni-api', 'Authorization: Bearer ' . $token ), )); $response = curl_exec($curl); curl_close($curl); $data = json_decode($response, true); if (isset($data['nombres'])) { $nombreCompleto = $data['nombres'] . ' ' . $data['apellidoPaterno'] . ' ' . $data['apellidoMaterno']; echo json_encode(["success" => true, "nombre" => $nombreCompleto, "source" => "api"]); } else { echo json_encode(["success" => false, "error" => "No encontrado en RENIEC"]); } } else { echo json_encode(["success" => false, "error" => "DNI debe tener 8 dígitos"]); }