refactor: elimina phone_number_id y display_phone del formulario de empresa

- El número WA Business es global (configuración general), no por empresa
- OutboundWorker usa fallback a WHATSAPP_DEFAULT_PHONE_NUMBER_ID si la empresa no tiene
- CompanyRepository::save() ya no requiere phone_number_id
- phone_number_id permite DEFAULT '' en schema

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-06-19 22:19:05 -05:00
co-authored by Claude Sonnet 4.6
parent 2632eff3fb
commit ea7560f9bf
4 changed files with 4 additions and 17 deletions
-13
View File
@@ -979,8 +979,6 @@ HTML;
$cv = fn(string $k, string $d = '') => self::h($company[$k] ?? $d);
$name = $cv('name');
$display_name = $cv('display_name');
$phone_number_id = $cv('phone_number_id');
$display_phone = $cv('display_phone');
$api_base_url = $cv('api_base_url');
$api_key = $cv('api_key');
$config_json = $cv('config_json');
@@ -1153,17 +1151,6 @@ HTML;
<input type="text" name="display_name" value="{$display_name}" placeholder="ABC S.A.">
</div>
</div>
<div class="form-row">
<div class="form-group">
<label>WhatsApp Phone Number ID *</label>
<input type="text" name="phone_number_id" value="{$phone_number_id}" required placeholder="123456789012345">
<div class="hint">N&uacute;mero WA Business desde el que se env&iacute;an los mensajes. Puede ser el mismo en varias empresas. Los mensajes se enrutan por el n&uacute;mero del remitente (pesta&ntilde;a N&uacute;meros WhatsApp).</div>
</div>
<div class="form-group">
<label>Tel&eacute;fono mostrado</label>
<input type="text" name="display_phone" value="{$display_phone}" placeholder="+573001234567">
</div>
</div>
<div class="form-row">
<div class="form-group">
<label>API Base URL *</label>
+2 -2
View File
@@ -38,7 +38,7 @@ class CompanyRepository
$db = db();
$id = (int)($data['id'] ?? 0);
$fields = ['name', 'display_name', 'phone_number_id', 'display_phone', 'api_base_url', 'api_key', 'bot_type', 'requires_approval', 'is_active', 'config_json'];
$fields = ['name', 'display_name', 'api_base_url', 'api_key', 'bot_type', 'requires_approval', 'is_active', 'config_json', 'erp_active_users'];
$params = [];
$sets = [];
foreach ($fields as $f) {
@@ -55,7 +55,7 @@ class CompanyRepository
return $id;
} else {
// Ensure required fields
$required = ['name', 'phone_number_id', 'api_base_url'];
$required = ['name', 'api_base_url'];
$insertData = [];
foreach ($required as $r) {
$insertData[$r] = $data[$r] ?? '';
+1 -1
View File
@@ -81,7 +81,7 @@ class OutboundWorker
return ['success' => false, 'error' => 'Payload inválido'];
}
$phoneNumberId = $item['phone_number_id'];
$phoneNumberId = $item['phone_number_id'] ?: env('WHATSAPP_DEFAULT_PHONE_NUMBER_ID', '');
$type = $item['message_type'];
$to = $item['to_number'];
+1 -1
View File
@@ -86,7 +86,7 @@ $db->exec("
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(150) NOT NULL,
display_name VARCHAR(150),
phone_number_id VARCHAR(50) NOT NULL,
phone_number_id VARCHAR(50) NOT NULL DEFAULT '',
display_phone VARCHAR(30),
api_base_url VARCHAR(500) NOT NULL,
api_key VARCHAR(255),