Files
Lizandro GuarnizoandClaude Sonnet 4.6 21e7c6a836 feat: integración WEBSms en configuración
- Nueva sección WEBSms en lab_configuracion.php con:
  - Switch activo/inactivo (sms_activo)
  - Campo URL base de la API (sms_url)
  - Campo API key / Bearer token (sms_api_key)
  - Campos de prueba: número + mensaje + botón Enviar
- api/lab/test_sms.php: proxy al endpoint POST /api/sms/send
  con Authorization: Bearer, valida respuesta ok/error
- save_config.php: permite guardar sms_url, sms_api_key, sms_activo

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 23:27:24 -05:00

38 lines
1.1 KiB
PHP

<?php
/**
* POST /api/lab/save_config.php — Guardar configuración global del lab
* Solo admin.
* Body JSON: { empresa_nombre, empresa_subtitulo, empresa_direccion, empresa_telefono,
* empresa_email, empresa_ciudad, doc_color, doc_logo_base64, doc_pie_pagina }
*/
require_once __DIR__ . '/_helpers.php';
requireMethod('POST');
requireAdmin();
$datos = inputJson();
$db = Database::getInstance();
$permitidas = [
'empresa_nombre', 'empresa_subtitulo', 'empresa_direccion',
'empresa_telefono', 'empresa_email', 'empresa_ciudad',
'doc_color', 'doc_logo_base64', 'doc_pie_pagina',
'gemini_api_key',
'ia_activa',
'sms_url',
'sms_api_key',
'sms_activo',
];
$guardadas = 0;
foreach ($permitidas as $clave) {
if (array_key_exists($clave, $datos)) {
$db->query(
'INSERT INTO lab_config(clave, valor) VALUES(?,?) ON DUPLICATE KEY UPDATE valor=?',
[$clave, $datos[$clave], $datos[$clave]]
);
$guardadas++;
}
}
jsonOk(['guardadas' => $guardadas], 'Configuración guardada');