feat: web chat con IA, validación de pagos y OTP por correo

- Chat público en /chat con flujos de compra, recarga y credenciales
- Verificación de identidad por código OTP enviado al correo registrado
- Botones enriquecidos: cards, links, credenciales, validación de comprobante
- Gemini IA para detección de intención en texto libre
- Gemini Vision para extraer datos de foto de comprobante
- Validador de pagos cruzando IA con correos IMAP (Bancolombia)
- MercadoPago como pasarela de pago (reemplaza Wompi en el chat)
- Migraciones: payload en chat_messages, user_id en chat_contacts
- Config admin: API key Gemini, toggles IA y validación de foto

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro
2026-07-14 00:09:31 +00:00
co-authored by Claude Sonnet 4.6
parent a56a69dccb
commit 536377363c
13 changed files with 1862 additions and 95 deletions
+9 -1
View File
@@ -8,7 +8,15 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo;
class ChatMessage extends Model
{
protected $table = 'chat_messages';
protected $fillable = ['conversation_id', 'tipo', 'contenido', 'leido'];
protected $fillable = [
'conversation_id', 'tipo', 'tipo_ui', 'contenido', 'payload', 'leido',
];
protected $casts = [
'payload' => 'array',
'leido' => 'boolean',
];
public function conversation(): BelongsTo
{