Commit Graph

5 Commits

Author SHA1 Message Date
Wallace Martins
722c73cb3e feat: add queue and storage configuration options
- Add queue configuration:
  - EVOLUTION_QUEUE_ENABLED - enable/disable queue processing
  - EVOLUTION_QUEUE_CONNECTION - custom queue connection
  - EVOLUTION_QUEUE_NAME - custom queue name (default: 'default')

- Add storage configuration:
  - EVOLUTION_STORE_WEBHOOKS - enable/disable webhook storage (default: true)
  - EVOLUTION_STORE_MESSAGES - enable/disable message storage (default: true)

- Update WebhookController to use storage.webhooks config
- Update ProcessWebhookJob to use storage.messages config
- Update README with new configuration options
2025-12-07 12:59:19 -03:00
Wallace Martins
aa606930d2 feat: add WhatsappMessageResource and WhatsappWebhookResource
- Add WhatsappMessageResource to view message history
  - List view with filters by instance, direction, type, status
  - View page with message details and raw payload

- Add WhatsappWebhookResource to view webhook logs
  - List view with filters by instance, event, processed status, errors
  - View page with webhook details, error info and payload

- Update FilamentEvolutionPlugin with optional resource loading:
  - viewMessageHistory() - enable message history resource (default: false)
  - viewWebhookLogs() - enable webhook logs resource (default: false)
  - whatsappInstanceResource() - show/hide instances (default: true)

- Add translations for new resources (en/pt_BR)

- Update README with plugin options documentation

- Fix Filament v4 infolist signature (Schema instead of Infolist)
2025-12-07 12:47:06 -03:00
Wallace Martins
9102ebb2e6 fix: correct instance_id column name in WebhookController
Changed 'whatsapp_instance_id' to 'instance_id' to match the database column and model fillable
2025-12-07 12:32:40 -03:00
Wallace Martins
81bdf54c70 feat: add SendWhatsappMessageAction, WhatsappService and CanSendWhatsappMessage trait
- Add SendWhatsappMessageAction for sending messages from any Filament page/table
  - Support for text, image, video, audio and document messages
  - numberFrom() and instanceFrom() methods for record-based values
  - hideInstanceSelect(), hideNumberInput(), textOnly() options
  - allowedTypes() for limiting message types
  - disk() for custom storage

- Add WhatsappService with support for local and S3 storage
  - Automatic base64 encoding for media files
  - Temporary URL generation for S3

- Add CanSendWhatsappMessage trait for service integration
  - sendWhatsappText, sendWhatsappImage, sendWhatsappVideo, etc.
  - Customizable instance selection via getWhatsappInstanceId()

- Add Whatsapp Facade for quick access

- Fix Evolution API v2 payload format (flat structure, raw base64)

- Update README with comprehensive documentation

- Fix tests (WebhookControllerTest, StatusConnectionEnumTest)
2025-12-07 12:24:39 -03:00
Wallace Martins
3bf496e8a9 feat: initial release v0.1.0
- Evolution API v2 integration with full HTTP client
- WhatsApp instance management (Create, Connect, Delete, LogOut, Restart)
- Real-time QR Code display with Alpine.js countdown timer
- Pairing code support for WhatsApp Web linking
- Webhook endpoint for receiving Evolution API events
- Complete instance settings (reject calls, always online, read messages, etc.)
- Filament v4 Resource with modal QR Code after instance creation
- Table actions for Connect, View, and Edit
- Status badges with Filament's native components
- Full translations support (English and Portuguese)
- Native Filament multi-tenancy support
- DTOs with Spatie Laravel Data for type safety
- Laravel Events for extensibility
- Background job processing for webhooks and messages
- Comprehensive configuration file
2025-12-07 10:14:40 -03:00