diff --git a/rest/controllers/api/ia_v2_controller.go b/rest/controllers/api/ia_v2_controller.go index ee6ec53..a8030d3 100644 --- a/rest/controllers/api/ia_v2_controller.go +++ b/rest/controllers/api/ia_v2_controller.go @@ -1,6 +1,9 @@ package controllers import ( + "log" + "strings" + "github.com/gofiber/fiber/v2" "github.com/sujit-baniya/fiber-boilerplate/pkg/services" ) @@ -33,7 +36,17 @@ func GenerarTextoIA(c *fiber.Ctx) error { // podría usar la configuración del agente o la del Landing Generator. texto, err := services.CompletarTextoIA("ia", body.Sistema, body.Prompt) if err != nil { - return c.Status(502).JSON(fiber.Map{"error": err.Error()}) + // Al log también: la integración suele mostrar solo el código de estado, + // y sin esta línea el motivo no queda registrado en ningún lado. + log.Printf("[IA v2] falló la generación: %v", err) + + // 503 cuando falta configurar algo de este lado y 502 cuando el que + // falló fue el proveedor: son problemas de dueños distintos. + estado := 502 + if strings.Contains(err.Error(), "configuración de IA") { + estado = 503 + } + return c.Status(estado).JSON(fiber.Map{"error": err.Error()}) } return c.JSON(fiber.Map{"texto": texto}) }