function generar_respuesta_gpt($mensaje) {
$api_key = "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"; //
$url = "https://api.openai.com/v1/chat/completions";
$data = array(
"model" => "gpt-4",
"messages" => array(
array("role" => "system", "content" => "Eres un asistente útil."),
array("role" => "user", "content" => $mensaje)
),
"temperature" => 0.7
);
$options = array(
"http" => array(
"header" => "Content-Type: application/json\r\n" .
"Authorization: Bearer " . $api_key . "\r\n",
"method" => "POST",
"content" => json_encode($data)
)
);
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
if ($response === FALSE) {
echo json_encode(["error" => "Error al conectar con OpenAI"]);
exit;
}
$decoded_response = json_decode($response, true);
if (!isset($decoded_response['choices'][0]['message']['content'])) {
echo json_encode(["error" => "No se pudo obtener una respuesta válida."]);
exit;
}
header('Content-Type: application/json'); // IMPORTANTE: Forzar respuesta JSON
echo json_encode(["respuesta" => $decoded_response['choices'][0]['message']['content"]]);
exit;
}
// Crear endpoint en WordPress
function chatbot_gpt_shortcode() {
if (!isset($_GET['mensaje'])) {
echo json_encode(["error" => "No se recibió un mensaje."]);
exit;
}
$mensaje = sanitize_text_field($_GET['mensaje']);
generar_respuesta_gpt($mensaje);
}
add_action('init', function() {
if (isset($_GET['mensaje'])) {
chatbot_gpt_shortcode();
exit;
}
});
