📜 Changelog — api.sh
Este documento registra los cambios realizados en el módulo api.sh, utilizado para realizar llamadas declarativas a APIs REST y SOAP desde hosts remotos o locales.
This document records changes made to the api.sh module, used to perform declarative calls to REST and SOAP APIs from remote or local hosts.
🇪🇸 Historial de versiones
🛡️ v1.0.5 — [2025-09-24]
- Encapsulado seguro del cuerpo con
--data-rawpara evitar errores de fragmentación - Validación condicional del campo
jsonantes de intentar parsear conjq - Trazas adicionales: comando real ejecutado y cuerpo transmitido si
DEBUG=true - Compatibilidad confirmada con estructuras anidadas, arrays, caracteres especiales y cuerpo vacío
- Respuesta defensiva si la respuesta no contiene JSON parseable
🧩 v1.0.4 — [no publicada]
- Corrección de errores de corchetes y comillas en cuerpos complejos
- Compatibilidad con YAML multilinea (
|) enbody - Preparación para pruebas con
reqres.inyhttpbin.org
🧩 v1.0.3 — [2025-09-24]
- Ejecución remota de
curlyjqsi el host no eslocalhost - Añadido
-Lpara seguir redirecciones HTTP - Cabecera
Accept: application/jsonforzada para asegurar parseo correcto - Compatibilidad estable con APIs públicas y RESTful
- Mejora de trazabilidad en ejecución remota
🧩 v1.0.2 — [2025-09-24]
- Corrección defensiva para evitar errores si
body,output,parse,methodourlno están definidos - Compatibilidad con entornos que usan
set -u - Mejora de robustez en tareas simples como
GETsin cuerpo ni salida
🧩 v1.0 — [2025-09-10]
- Creación inicial del módulo
api.sh - Soporte para métodos:
GET,POST,PUT,DELETE,SOAP - Parámetros:
url,method,headers,body,output,parse - Parseo opcional de respuesta como
jsonoxml - Dependencias:
curl,jq,xmllint