-
8f51659f1e
fix: save per-category menus via dedicated endpoint, not the main form

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-30 19:06:13 -05:00
-
cae448a9c6
fix: use $menus after it is defined (was undefined in welcomeMenuOpts loop)

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-30 19:02:08 -05:00
-
9b0e6ecb71
fix: PHP 7.4 compat — remove union return types from session handler

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-30 18:53:32 -05:00
-
37eef6a705
fix: persist admin sessions in DB so deploys don't log out users

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-30 18:42:33 -05:00
-
b288b07ff5
feat: welcome message, fix per_type save, add missing ciclos flows

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-30 18:39:04 -05:00
-
e9bbf8efce
feat: per-type greeting_menu takes priority over global show_main_menu

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-30 16:54:47 -05:00
-
6bac0ee823
fix: dynamic list body fallback uses ?: to handle empty string

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-30 16:32:58 -05:00
-
322aa287dc
fix: fetchDynamicList accepts 'datos' key (Palmas360 API convention)

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-30 16:19:25 -05:00
-
e6dbd5c5bf
fix: endpoint test button handles binary (xlsx/pdf) responses correctly

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-30 14:49:53 -05:00
-
e177919be2
fix: resolve {vars} in endpoint test button using saved params config

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-30 13:50:17 -05:00
-
ff9ff67445
feat: URL var config per endpoint + smart date handling in api_report

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-30 13:36:33 -05:00
-
fb28140e23
docs: API spec for ERP Palmas360 — all 16 endpoints documented

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-30 09:03:01 -05:00
-
904a1be6ea
fix: deduplicate webhook — skip bot response on Meta retry

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-30 09:00:50 -05:00
-
16a03b546d
fix: commands clear in-progress state + per_type config rebuilt in DB

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-29 11:42:56 -05:00
-
b2abece097
fix: per-type commands extend globals instead of replacing them

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-29 11:25:15 -05:00
-
21d30a0895
feat: auto-detect collect_and_post fields from endpoint body_fields

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-29 11:10:37 -05:00
-
3c7ea9fdf9
feat: collect_and_post flow type — sequential field collection + POST

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-29 11:06:42 -05:00
-
32f87ef27c
fix: company save no longer deactivates on partial updates

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-29 10:52:44 -05:00
-
fb61a6e027
feat: add collect_for_each flow type to bot-config UI

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-29 10:40:15 -05:00
-
b45f0fbe51
feat: add collect_for_each flow type for sequential per-item data entry

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-29 10:36:44 -05:00
-
6dd9995b7f
fix: new company defaults is_active=true

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-29 10:02:52 -05:00
-
e3be2d5b3f
fix: stop repeated/duplicate bot responses

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-29 09:05:24 -05:00
-
cb348bd602
fix: company save — cast int fields, fix error redirect URL

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-29 09:02:34 -05:00
-
b25126e52b
fix: company save 500 error — catch DB exceptions, show error to user

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-28 18:05:38 -05:00
-
68317da748
fix: pre-fill phone_number_id on new company from existing shared value

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-28 18:01:13 -05:00
-
1f8af616c5
clarify: phone_number_id hint — shared number is expected

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-28 17:58:51 -05:00
-
9ef9eeffcb
fix: chat page — readable content, correct unread count, immediate send

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-28 17:54:43 -05:00
-
2c8b597b28
fix: show general panel by default on company create form

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-28 17:49:24 -05:00
-
84afeb598c
feat: company create with copy-from + fix missing fields

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-28 17:47:16 -05:00
-
838cc651b2
fix: repair ErpSync upsert — no duplicate key + preserve config_json

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-28 17:44:31 -05:00
-
332c808bf2
remove: drop Pendientes from nav menu

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-28 17:42:51 -05:00
-
d84f587b52
fix: repair broken loadConvs JS function in chat page

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-28 17:41:33 -05:00
-
e0c873cb4c
fix: define CONFIG and ENDPOINTS in bot-config page for addFlowCard

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-28 17:38:28 -05:00
-
4c93c20482
feat: add Google Gemini provider option to bot-config AI tab

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-28 17:32:51 -05:00
-
845dd08a3a
fix: avoid PHP interpolating JS template literals in addFlowCard heredoc

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-28 17:28:33 -05:00
-
1116b8ece9
fix(admin): endpoint names in selects, per_type merge, category labels, cmd datalist

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-28 17:09:47 -05:00
-
2c0ac04993
fix(flows): CSS display conflict, addFlowCard, endpoint CRUD, menu re-send, URL vars

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-28 17:04:05 -05:00
-
eeda883bd9
feat: flow form editor shows all types with proper selects

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-28 14:03:18 -05:00
-
316d9ce73e
feat: dynamic lists, multi-step forms, improved flow editor

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-28 13:51:33 -05:00
-
12ec5d28b1
feat: flow editor shows endpoint selector when api_report is chosen

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-28 13:37:32 -05:00
-
6f799c3829
feat: media via AI, text via NormalBot only, ai_for_media toggle

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-28 13:28:56 -05:00
-
4d7dd0f306
fix: AiBot returns null on API errors instead of hardcoded error string

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-28 13:15:12 -05:00
-
b6a85c33f7
fix: salir button works, cap at 3 buttons, no AI error on unmatched input

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-28 13:10:08 -05:00
-
32e2a2a82e
feat: per-category greeting menu in bot config

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-28 13:04:29 -05:00
-
0b851208ea
fix: show navigation hint after api_report completes or fails

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-28 11:43:57 -05:00
-
dee459d53f
fix: reset context on api_report failure so user is never stuck

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-28 11:40:23 -05:00
-
0555b35766
fix: multiple consistency bugs found in full audit

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-27 19:57:55 -05:00
-
0be3d467ff
fix: embed conversations data inline in chat page HTML

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-27 19:51:15 -05:00
-
5bae03e5a3
fix: consolidate all chat API calls onto /admin/chat with ?api= param

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-27 19:48:21 -05:00
-
4f30ed4447
fix: rename chat API routes to avoid Nginx /admin/chat/* redirect conflict

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-27 19:43:06 -05:00
-
33869a6622
fix: guard against null msgInput before addEventListener in chat page

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-27 19:38:22 -05:00
-
446cf640e8
fix: add error handling and empty state to chat conversation list

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-27 19:31:31 -05:00
-
639c3e7938
feat: convert all WhatsApp menus from list to button type

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-27 19:27:37 -05:00
-
e4841e2741
fix: resolveMenu usa menus fusionados de per_type + bugs de $endpoint y tipo de retorno

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-27 19:09:24 -05:00
-
932a7a78a7
fix: fallback_flow por categoria, menu directo en saludo/fallback
Lizandro Guarnizo
2026-06-27 18:53:41 -05:00
-
02108b7ffa
fix: reset nodo tras saludo + fallback por categoria 3
Lizandro Guarnizo
2026-06-27 18:51:30 -05:00
-
b96dbcc394
feat: menus por permission_type (1=info, 2=informes, 3=completo)
Lizandro Guarnizo
2026-06-27 18:46:35 -05:00
-
7407c716d4
fix: usar phone_number_id real del webhook + actualizado en BD
Lizandro Guarnizo
2026-06-27 18:25:03 -05:00
-
c053ba3295
fix: enviar respuestas del bot directamente por WhatsApp sin depender de cola
Lizandro Guarnizo
2026-06-27 18:12:50 -05:00
-
010613846c
fix: api_report busca URL en company_endpoints por endpoint_key
Lizandro Guarnizo
2026-06-27 11:38:25 -05:00
-
51c187e47d
feat: menu navegable con submenus y descarga de reportes via api_report
Lizandro Guarnizo
2026-06-27 11:30:08 -05:00
-
454ee297e2
feat: log every incoming webhook request before validation

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-22 11:39:23 -05:00
-
483cc4797e
fix: replace SSE with polling in live feed to stop blocking FPM workers

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-22 11:37:21 -05:00
-
c702dbadc1
fix: save gemini keys in settings + add AI connection test

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-22 11:34:25 -05:00
-
5277d47c14
feat: soporte Google Gemini como proveedor de IA

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-19 22:55:13 -05:00
-
ef799a4a0a
feat: botón Sincronizar desde ERP en pestaña Números WhatsApp

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-19 22:45:21 -05:00
-
b84dd01c40
fix: separa cosecha/sanidad/polinización en 3 endpoints independientes

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-19 22:27:58 -05:00
-
ea7560f9bf
refactor: elimina phone_number_id y display_phone del formulario de empresa

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-19 22:19:05 -05:00
-
2632eff3fb
fix: elimina UNIQUE de phone_number_id — varias empresas comparten el mismo número WA

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-19 22:14:57 -05:00
-
14db6fe27f
fix: PHP heredoc interpretaba template literals JS como constantes PHP

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-19 22:10:38 -05:00
-
b308de2b3b
feat: routing por número remitente + rechazo de números no habilitados

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-19 22:07:37 -05:00
-
7657e0f55c
fix: CompanyRepository::all() → findAll()

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-19 22:04:00 -05:00
-
860e93a20b
feat: módulo de empresa con números WhatsApp y endpoints API por empresa

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-19 21:57:31 -05:00
-
b083d49769
feat: página de mensaje de prueba para simular webhook entrante

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-19 21:50:25 -05:00
-
7b8a4c2056
fix: SSE libera worker en 28s y detecta desconexión cada 200ms

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-19 21:47:24 -05:00
-
2082323586
fix: cache-bust app.css para forzar recarga en browser

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-19 21:44:37 -05:00
-
333317e268
feat: UI minimalista — una sola barra de navegación, drawer móvil, fix SSE

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-19 21:41:37 -05:00
-
ef6e9c1f70
feat: UI/UX overhaul — shared layout, SSE live feed, responsive nav, approval drawer

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-19 21:21:32 -05:00
-
daf1947f13
cambios importantes
Lizandro Guarnizo
2026-06-13 12:03:30 -05:00
-
dd57cba0e2
feat: bot config visual editor, chat admin, debug logging, HMAC toggle
Lizandro Guarnizo
2026-06-13 11:24:32 -05:00
-
774cd829d9
cambios importantes
Lizandro Guarnizo
2026-06-13 09:19:36 -05:00
-
a6595862ec
cambios importantes
Lizandro Guarnizo
2026-06-12 22:17:05 -05:00
-
4bd353c128
cambios importantes
Lizandro Guarnizo
2026-06-12 22:02:03 -05:00
-
bc422e0a1c
cambios importantes
Lizandro Guarnizo
2026-06-12 12:18:21 -05:00
-
efebec3c1b
fix: eliminar texto de WhatsApp en politicas.html
Lizandro Guarnizo
2026-06-04 20:21:06 -05:00
-
196855b32d
fix: quitar tipo mixed y ENT_SUBSTITUTE para PHP 7.4
Lizandro Guarnizo
2026-06-04 20:09:21 -05:00
-
1d74463265
fix: ruta raíz / redirige a /login
Lizandro Guarnizo
2026-06-04 20:05:36 -05:00
-
43f337ee34
fix: compatibilidad PHP 7.4 — str_starts_with, str_contains, match, never, mixed
Lizandro Guarnizo
2026-06-04 20:04:37 -05:00
-
943e629120
fix: htaccess + index raíz con soporte APP_BASE para subdirectorio /admin
Lizandro Guarnizo
2026-06-04 17:50:55 -05:00
-
e984b2f255
fix: index.php raíz que incluye public/index.php
Lizandro Guarnizo
2026-06-04 17:46:40 -05:00
-
202a263e25
feat: bot WhatsApp Business API — Palmas360 inicial
Lizandro Guarnizo
2026-06-04 13:35:23 -05:00