From e5c6dba787dc87b92ab0c95c491ca9a6bf2e5ad9 Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Mon, 22 Jun 2026 16:59:49 -0500 Subject: [PATCH] fix: exponer cuerpo real de respuesta en error de websms MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit El error "unmarshal: invalid character '<'" ocultaba qué devolvía LabsMobile. Ahora el error incluye Content-Type y los primeros 200 bytes del cuerpo para diagnóstico. Co-Authored-By: Claude Sonnet 4.6 --- pkg/services/websms_service.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/services/websms_service.go b/pkg/services/websms_service.go index c1da869..b71413b 100644 --- a/pkg/services/websms_service.go +++ b/pkg/services/websms_service.go @@ -92,9 +92,10 @@ func SendWebSms(cfg *models.WebSmsConfig, para, mensaje string) (*WebSmsResponse return nil, fmt.Errorf("websms API status %d: %s", resp.StatusCode, string(respBody)) } + ct := resp.Header.Get("Content-Type") var result WebSmsResponse if err := json.Unmarshal(respBody, &result); err != nil { - return nil, fmt.Errorf("websms: unmarshal: %w", err) + return nil, fmt.Errorf("websms: respuesta no JSON (Content-Type: %s, cuerpo: %.200s)", ct, string(respBody)) } return &result, nil