- 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>
26 lines
547 B
PHP
26 lines
547 B
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
|
|
|
class ChatMessage extends Model
|
|
{
|
|
protected $table = 'chat_messages';
|
|
|
|
protected $fillable = [
|
|
'conversation_id', 'tipo', 'tipo_ui', 'contenido', 'payload', 'leido',
|
|
];
|
|
|
|
protected $casts = [
|
|
'payload' => 'array',
|
|
'leido' => 'boolean',
|
|
];
|
|
|
|
public function conversation(): BelongsTo
|
|
{
|
|
return $this->belongsTo(ChatConversation::class, 'conversation_id');
|
|
}
|
|
}
|